diff --git a/.release-please-manifest.json b/.release-please-manifest.json index 0815771e..3d2ac0bd 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,3 +1,3 @@ { - ".": "0.1.0-alpha.56" + ".": "0.1.0" } \ No newline at end of file diff --git a/.stats.yml b/.stats.yml index d8bf6f02..3f808b06 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ -configured_endpoints: 172 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/lithic%2Flithic-9791980619fc7ce8afb01f77dfe3c660a540975327378287cb666136ae4b0a99.yml -openapi_spec_hash: 0752074b2a7b0534329a1e3176c94a62 -config_hash: aab05d0cf41f1f6b9f4d5677273c1600 +configured_endpoints: 176 +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/lithic%2Flithic-abe6a4f82f696099fa8ecb1cc44f08979e17d56578ae7ea68b0e9182e21df508.yml +openapi_spec_hash: d2ce51592a9a234c6f34a1168a31f91f +config_hash: 739714a3fead0b26ee3a3b7bc51081f6 diff --git a/CHANGELOG.md b/CHANGELOG.md index 183a5af0..e0095b8b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,38 @@ # Changelog +## 0.1.0 (2025-12-09) + +Full Changelog: [v0.1.0-alpha.56...v0.1.0](https://github.com/lithic-com/lithic-ruby/compare/v0.1.0-alpha.56...v0.1.0) + +### Features + +* **api:** add bulk card creation APIs ([cfad114](https://github.com/lithic-com/lithic-ruby/commit/cfad11458ae0cadb0fdc3df83a207899961373be)) +* **api:** Add event_streams to auth rules APIs ([f728be5](https://github.com/lithic-com/lithic-ruby/commit/f728be51aaadc3520da3ba43f6eebc748f0996d6)) +* **api:** add Google WPP to SDKs ([7eacd6a](https://github.com/lithic-com/lithic-ruby/commit/7eacd6a0dec947d4ceb0fe66004603cc897f2ace)) +* **api:** add IS_AFTER / IS_BEFORE operators to Auth Rule APIs ([7eacd6a](https://github.com/lithic-com/lithic-ruby/commit/7eacd6a0dec947d4ceb0fe66004603cc897f2ace)) +* **api:** Add new fee types ([f728be5](https://github.com/lithic-com/lithic-ruby/commit/f728be51aaadc3520da3ba43f6eebc748f0996d6)) +* **api:** Add optional ach_hold_period ([f728be5](https://github.com/lithic-com/lithic-ruby/commit/f728be51aaadc3520da3ba43f6eebc748f0996d6)) +* **api:** add WALLET_RECOMMENDATION_REASONS attribute for tokenization rules ([13b07cb](https://github.com/lithic-com/lithic-ruby/commit/13b07cbc3cf7f8acd8b1bab6c5d1abf84762e7d6)) +* **api:** provide a unified model for AuthRule ([13b07cb](https://github.com/lithic-com/lithic-ruby/commit/13b07cbc3cf7f8acd8b1bab6c5d1abf84762e7d6)) +* **api:** support event_streams in auth_rules list endpoint ([c5ddfb6](https://github.com/lithic-com/lithic-ruby/commit/c5ddfb614021df7a5945f8de4536401b1fd9237c)) + + +### Bug Fixes + +* **api:** extract several common types to reduce duplication ([cfad114](https://github.com/lithic-com/lithic-ruby/commit/cfad11458ae0cadb0fdc3df83a207899961373be)) +* **api:** fix examples in spec that were not fully valid ([13b07cb](https://github.com/lithic-com/lithic-ruby/commit/13b07cbc3cf7f8acd8b1bab6c5d1abf84762e7d6)) +* **api:** make certain payoff fields nullable ([13b07cb](https://github.com/lithic-com/lithic-ruby/commit/13b07cbc3cf7f8acd8b1bab6c5d1abf84762e7d6)) + + +### Chores + +* explicitly require "base64" gem ([635f951](https://github.com/lithic-com/lithic-ruby/commit/635f9513543431da16261d80ede76d30d6338de3)) + + +### Documentation + +* **api:** clarify error 422 for 3DS challenge response ([7eacd6a](https://github.com/lithic-com/lithic-ruby/commit/7eacd6a0dec947d4ceb0fe66004603cc897f2ace)) + ## 0.1.0-alpha.56 (2025-11-20) Full Changelog: [v0.1.0-alpha.55...v0.1.0-alpha.56](https://github.com/lithic-com/lithic-ruby/compare/v0.1.0-alpha.55...v0.1.0-alpha.56) diff --git a/Gemfile.lock b/Gemfile.lock index b2ad9b84..e52cafce 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -11,7 +11,7 @@ GIT PATH remote: . specs: - lithic (0.1.0.pre.alpha.56) + lithic (0.1.0) connection_pool GEM diff --git a/README.md b/README.md index bdec4529..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.56" +gem "lithic", "~> 0.1.0" ``` diff --git a/lib/lithic.rb b/lib/lithic.rb index 7aa9e255..4fd5b807 100644 --- a/lib/lithic.rb +++ b/lib/lithic.rb @@ -3,6 +3,7 @@ # Standard libraries. # rubocop:disable Lint/RedundantRequireStatement require "English" +require "base64" require "cgi" require "date" require "erb" @@ -97,6 +98,7 @@ require_relative "lithic/models/auth_rules/conditional_operation" require_relative "lithic/models/auth_rules/conditional_tokenization_action_parameters" require_relative "lithic/models/auth_rules/conditional_value" +require_relative "lithic/models/auth_rules/event_stream" require_relative "lithic/models/auth_rules/merchant_lock_parameters" require_relative "lithic/models/auth_rules/rule_stats" require_relative "lithic/models/auth_rules/v2/backtest_create_params" @@ -104,22 +106,16 @@ require_relative "lithic/models/auth_rules/v2/backtest_results" require_relative "lithic/models/auth_rules/v2/backtest_retrieve_params" require_relative "lithic/models/auth_rules/v2_create_params" -require_relative "lithic/models/auth_rules/v2_create_response" require_relative "lithic/models/auth_rules/v2_delete_params" require_relative "lithic/models/auth_rules/v2_draft_params" -require_relative "lithic/models/auth_rules/v2_draft_response" require_relative "lithic/models/auth_rules/v2_list_params" -require_relative "lithic/models/auth_rules/v2_list_response" require_relative "lithic/models/auth_rules/v2_promote_params" -require_relative "lithic/models/auth_rules/v2_promote_response" require_relative "lithic/models/auth_rules/v2_retrieve_features_params" require_relative "lithic/models/auth_rules/v2_retrieve_features_response" require_relative "lithic/models/auth_rules/v2_retrieve_params" require_relative "lithic/models/auth_rules/v2_retrieve_report_params" require_relative "lithic/models/auth_rules/v2_retrieve_report_response" -require_relative "lithic/models/auth_rules/v2_retrieve_response" require_relative "lithic/models/auth_rules/v2_update_params" -require_relative "lithic/models/auth_rules/v2_update_response" require_relative "lithic/models/auth_rules/velocity_limit_params" require_relative "lithic/models/auth_rules/velocity_limit_period" require_relative "lithic/models/auth_stream_enrollment_retrieve_secret_params" @@ -133,10 +129,16 @@ require_relative "lithic/models/book_transfer_retrieve_params" require_relative "lithic/models/book_transfer_reverse_params" require_relative "lithic/models/card" +require_relative "lithic/models/card_bulk_order" +require_relative "lithic/models/card_bulk_order_create_params" +require_relative "lithic/models/card_bulk_order_list_params" +require_relative "lithic/models/card_bulk_order_retrieve_params" +require_relative "lithic/models/card_bulk_order_update_params" require_relative "lithic/models/card_convert_physical_params" require_relative "lithic/models/card_create_params" require_relative "lithic/models/card_embed_params" require_relative "lithic/models/card_embed_response" +require_relative "lithic/models/cardholder_authentication" require_relative "lithic/models/card_list_params" require_relative "lithic/models/card_program" require_relative "lithic/models/card_program_list_params" @@ -150,7 +152,6 @@ require_relative "lithic/models/cards/aggregate_balance_list_params" require_relative "lithic/models/cards/aggregate_balance_list_response" require_relative "lithic/models/cards/balance_list_params" -require_relative "lithic/models/cards/balance_list_response" require_relative "lithic/models/cards/financial_transaction_list_params" require_relative "lithic/models/cards/financial_transaction_retrieve_params" require_relative "lithic/models/card_search_by_pan_params" @@ -167,9 +168,11 @@ require_relative "lithic/models/credit_products/prime_rate_retrieve_params" require_relative "lithic/models/credit_products/prime_rate_retrieve_response" require_relative "lithic/models/currency" +require_relative "lithic/models/device" require_relative "lithic/models/digital_card_art" require_relative "lithic/models/digital_card_art_list_params" require_relative "lithic/models/digital_card_art_retrieve_params" +require_relative "lithic/models/digital_wallet_token_metadata" require_relative "lithic/models/dispute" require_relative "lithic/models/dispute_create_params" require_relative "lithic/models/dispute_delete_evidence_params" @@ -203,6 +206,7 @@ require_relative "lithic/models/events/subscription_send_simulated_example_params" require_relative "lithic/models/events/subscription_update_params" require_relative "lithic/models/event_subscription" +require_relative "lithic/models/external_bank_account" require_relative "lithic/models/external_bank_account_address" require_relative "lithic/models/external_bank_account_create_params" require_relative "lithic/models/external_bank_account_create_response" @@ -213,11 +217,9 @@ require_relative "lithic/models/external_bank_account_retry_micro_deposits_params" require_relative "lithic/models/external_bank_account_retry_micro_deposits_response" require_relative "lithic/models/external_bank_account_retry_prenote_params" -require_relative "lithic/models/external_bank_account_retry_prenote_response" require_relative "lithic/models/external_bank_accounts/micro_deposit_create_params" require_relative "lithic/models/external_bank_accounts/micro_deposit_create_response" require_relative "lithic/models/external_bank_account_unpause_params" -require_relative "lithic/models/external_bank_account_unpause_response" require_relative "lithic/models/external_bank_account_update_params" require_relative "lithic/models/external_bank_account_update_response" require_relative "lithic/models/external_payment" @@ -231,12 +233,12 @@ require_relative "lithic/models/external_resource" require_relative "lithic/models/external_resource_type" require_relative "lithic/models/financial_account" +require_relative "lithic/models/financial_account_balance" require_relative "lithic/models/financial_account_create_params" require_relative "lithic/models/financial_account_list_params" require_relative "lithic/models/financial_account_register_account_number_params" require_relative "lithic/models/financial_account_retrieve_params" require_relative "lithic/models/financial_accounts/balance_list_params" -require_relative "lithic/models/financial_accounts/balance_list_response" require_relative "lithic/models/financial_accounts/category_balances" require_relative "lithic/models/financial_accounts/credit_configuration_retrieve_params" require_relative "lithic/models/financial_accounts/credit_configuration_update_params" @@ -260,13 +262,13 @@ require_relative "lithic/models/fraud/transaction_report_response" require_relative "lithic/models/fraud/transaction_retrieve_params" require_relative "lithic/models/fraud/transaction_retrieve_response" +require_relative "lithic/models/funding_event" require_relative "lithic/models/funding_event_list_params" -require_relative "lithic/models/funding_event_list_response" require_relative "lithic/models/funding_event_retrieve_details_params" require_relative "lithic/models/funding_event_retrieve_details_response" require_relative "lithic/models/funding_event_retrieve_params" -require_relative "lithic/models/funding_event_retrieve_response" require_relative "lithic/models/instance_financial_account_type" +require_relative "lithic/models/internal_transaction" require_relative "lithic/models/kyb" require_relative "lithic/models/kyb_business_entity" require_relative "lithic/models/kyc" @@ -281,6 +283,7 @@ require_relative "lithic/models/network_program" require_relative "lithic/models/network_program_list_params" require_relative "lithic/models/network_program_retrieve_params" +require_relative "lithic/models/network_total" require_relative "lithic/models/owner_type" require_relative "lithic/models/payment_create_params" require_relative "lithic/models/payment_create_response" @@ -299,9 +302,7 @@ require_relative "lithic/models/payment_simulate_return_response" require_relative "lithic/models/provision_response" require_relative "lithic/models/reports/settlement/network_total_list_params" -require_relative "lithic/models/reports/settlement/network_total_list_response" require_relative "lithic/models/reports/settlement/network_total_retrieve_params" -require_relative "lithic/models/reports/settlement/network_total_retrieve_response" require_relative "lithic/models/reports/settlement_list_details_params" require_relative "lithic/models/reports/settlement_summary_params" require_relative "lithic/models/required_document" @@ -317,7 +318,6 @@ require_relative "lithic/models/spend_limit_duration" require_relative "lithic/models/statement_totals" require_relative "lithic/models/three_ds/authentication_retrieve_params" -require_relative "lithic/models/three_ds/authentication_retrieve_response" require_relative "lithic/models/three_ds/authentication_simulate_otp_entry_params" require_relative "lithic/models/three_ds/authentication_simulate_params" require_relative "lithic/models/three_ds/authentication_simulate_response" @@ -326,22 +326,25 @@ require_relative "lithic/models/three_ds/decisioning_retrieve_secret_params" require_relative "lithic/models/three_ds/decisioning_retrieve_secret_response" require_relative "lithic/models/three_ds/decisioning_rotate_secret_params" +require_relative "lithic/models/three_ds_authentication" +require_relative "lithic/models/token_info" require_relative "lithic/models/tokenization" require_relative "lithic/models/tokenization_activate_params" require_relative "lithic/models/tokenization_deactivate_params" require_relative "lithic/models/tokenization_decisioning_retrieve_secret_params" require_relative "lithic/models/tokenization_decisioning_rotate_secret_params" require_relative "lithic/models/tokenization_decisioning_rotate_secret_response" +require_relative "lithic/models/tokenization_decline_reason" require_relative "lithic/models/tokenization_list_params" 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_rule_result" 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_tfa_reason" 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_expire_authorization_params" require_relative "lithic/models/transaction_list_params" require_relative "lithic/models/transaction_retrieve_params" @@ -366,6 +369,7 @@ require_relative "lithic/models/transfer" require_relative "lithic/models/transfer_create_params" require_relative "lithic/models/verification_method" +require_relative "lithic/models/wallet_decisioning_info" require_relative "lithic/models/wire_party_details" require_relative "lithic/models" require_relative "lithic/resources/account_activity" @@ -378,6 +382,7 @@ require_relative "lithic/resources/auth_stream_enrollment" require_relative "lithic/resources/balances" require_relative "lithic/resources/book_transfers" +require_relative "lithic/resources/card_bulk_orders" require_relative "lithic/resources/card_programs" require_relative "lithic/resources/cards" require_relative "lithic/resources/cards/aggregate_balances" @@ -405,6 +410,7 @@ require_relative "lithic/resources/fraud" require_relative "lithic/resources/fraud/transactions" require_relative "lithic/resources/funding_events" +require_relative "lithic/resources/internal_transaction" require_relative "lithic/resources/management_operations" require_relative "lithic/resources/network_programs" require_relative "lithic/resources/payments" diff --git a/lib/lithic/client.rb b/lib/lithic/client.rb index 98594cea..f032abd5 100644 --- a/lib/lithic/client.rb +++ b/lib/lithic/client.rb @@ -44,6 +44,9 @@ class Client < Lithic::Internal::Transport::BaseClient # @return [Lithic::Resources::Cards] attr_reader :cards + # @return [Lithic::Resources::CardBulkOrders] + attr_reader :card_bulk_orders + # @return [Lithic::Resources::Balances] attr_reader :balances @@ -101,6 +104,9 @@ class Client < Lithic::Internal::Transport::BaseClient # @return [Lithic::Resources::ManagementOperations] attr_reader :management_operations + # @return [Lithic::Resources::InternalTransaction] + attr_reader :internal_transaction + # @return [Lithic::Resources::FundingEvents] attr_reader :funding_events @@ -194,6 +200,7 @@ def initialize( @tokenization_decisioning = Lithic::Resources::TokenizationDecisioning.new(client: self) @tokenizations = Lithic::Resources::Tokenizations.new(client: self) @cards = Lithic::Resources::Cards.new(client: self) + @card_bulk_orders = Lithic::Resources::CardBulkOrders.new(client: self) @balances = Lithic::Resources::Balances.new(client: self) @aggregate_balances = Lithic::Resources::AggregateBalances.new(client: self) @disputes = Lithic::Resources::Disputes.new(client: self) @@ -213,6 +220,7 @@ def initialize( @credit_products = Lithic::Resources::CreditProducts.new(client: self) @external_payments = Lithic::Resources::ExternalPayments.new(client: self) @management_operations = Lithic::Resources::ManagementOperations.new(client: self) + @internal_transaction = Lithic::Resources::InternalTransaction.new(client: self) @funding_events = Lithic::Resources::FundingEvents.new(client: self) @fraud = Lithic::Resources::Fraud.new(client: self) @network_programs = Lithic::Resources::NetworkPrograms.new(client: self) diff --git a/lib/lithic/models.rb b/lib/lithic/models.rb index 761dfbed..e6e89d15 100644 --- a/lib/lithic/models.rb +++ b/lib/lithic/models.rb @@ -112,12 +112,24 @@ module Lithic Card = Lithic::Models::Card + CardBulkOrder = Lithic::Models::CardBulkOrder + + CardBulkOrderCreateParams = Lithic::Models::CardBulkOrderCreateParams + + CardBulkOrderListParams = Lithic::Models::CardBulkOrderListParams + + CardBulkOrderRetrieveParams = Lithic::Models::CardBulkOrderRetrieveParams + + CardBulkOrderUpdateParams = Lithic::Models::CardBulkOrderUpdateParams + CardConvertPhysicalParams = Lithic::Models::CardConvertPhysicalParams CardCreateParams = Lithic::Models::CardCreateParams CardEmbedParams = Lithic::Models::CardEmbedParams + CardholderAuthentication = Lithic::Models::CardholderAuthentication + CardListParams = Lithic::Models::CardListParams CardProgram = Lithic::Models::CardProgram @@ -156,12 +168,16 @@ module Lithic Currency = Lithic::Models::Currency + Device = Lithic::Models::Device + DigitalCardArtAPI = Lithic::Models::DigitalCardArtAPI DigitalCardArtListParams = Lithic::Models::DigitalCardArtListParams DigitalCardArtRetrieveParams = Lithic::Models::DigitalCardArtRetrieveParams + DigitalWalletTokenMetadata = Lithic::Models::DigitalWalletTokenMetadata + Dispute = Lithic::Models::Dispute DisputeCreateParams = Lithic::Models::DisputeCreateParams @@ -204,6 +220,8 @@ module Lithic EventSubscription = Lithic::Models::EventSubscription + ExternalBankAccount = Lithic::Models::ExternalBankAccount + ExternalBankAccountAddress = Lithic::Models::ExternalBankAccountAddress ExternalBankAccountCreateParams = Lithic::Models::ExternalBankAccountCreateParams @@ -244,6 +262,8 @@ module Lithic FinancialAccount = Lithic::Models::FinancialAccount + FinancialAccountBalance = Lithic::Models::FinancialAccountBalance + FinancialAccountCreateParams = Lithic::Models::FinancialAccountCreateParams FinancialAccountListParams = Lithic::Models::FinancialAccountListParams @@ -264,6 +284,8 @@ module Lithic Fraud = Lithic::Models::Fraud + FundingEvent = Lithic::Models::FundingEvent + FundingEventListParams = Lithic::Models::FundingEventListParams FundingEventRetrieveDetailsParams = Lithic::Models::FundingEventRetrieveDetailsParams @@ -272,6 +294,8 @@ module Lithic InstanceFinancialAccountType = Lithic::Models::InstanceFinancialAccountType + InternalTransactionAPI = Lithic::Models::InternalTransactionAPI + KYB = Lithic::Models::KYB KYBBusinessEntity = Lithic::Models::KYBBusinessEntity @@ -300,6 +324,8 @@ module Lithic NetworkProgramRetrieveParams = Lithic::Models::NetworkProgramRetrieveParams + NetworkTotal = Lithic::Models::NetworkTotal + NonPCICard = Lithic::Models::NonPCICard OwnerType = Lithic::Models::OwnerType @@ -352,6 +378,10 @@ module Lithic ThreeDS = Lithic::Models::ThreeDS + ThreeDSAuthentication = Lithic::Models::ThreeDSAuthentication + + TokenInfo = Lithic::Models::TokenInfo + Tokenization = Lithic::Models::Tokenization TokenizationActivateParams = Lithic::Models::TokenizationActivateParams @@ -362,6 +392,8 @@ module Lithic TokenizationDecisioningRotateSecretParams = Lithic::Models::TokenizationDecisioningRotateSecretParams + TokenizationDeclineReason = Lithic::Models::TokenizationDeclineReason + TokenizationListParams = Lithic::Models::TokenizationListParams TokenizationPauseParams = Lithic::Models::TokenizationPauseParams @@ -370,10 +402,14 @@ module Lithic TokenizationRetrieveParams = Lithic::Models::TokenizationRetrieveParams + TokenizationRuleResult = Lithic::Models::TokenizationRuleResult + TokenizationSecret = Lithic::Models::TokenizationSecret TokenizationSimulateParams = Lithic::Models::TokenizationSimulateParams + TokenizationTfaReason = Lithic::Models::TokenizationTfaReason + TokenizationUnpauseParams = Lithic::Models::TokenizationUnpauseParams TokenizationUpdateDigitalCardArtParams = Lithic::Models::TokenizationUpdateDigitalCardArtParams @@ -410,5 +446,7 @@ module Lithic VerificationMethod = Lithic::Models::VerificationMethod + WalletDecisioningInfo = Lithic::Models::WalletDecisioningInfo + WirePartyDetails = Lithic::Models::WirePartyDetails end diff --git a/lib/lithic/models/account_activity_list_params.rb b/lib/lithic/models/account_activity_list_params.rb index 7cc7bbb5..9598c497 100644 --- a/lib/lithic/models/account_activity_list_params.rb +++ b/lib/lithic/models/account_activity_list_params.rb @@ -119,6 +119,8 @@ module Category CARD = :CARD EXTERNAL_ACH = :EXTERNAL_ACH EXTERNAL_CHECK = :EXTERNAL_CHECK + EXTERNAL_FEDNOW = :EXTERNAL_FEDNOW + EXTERNAL_RTP = :EXTERNAL_RTP EXTERNAL_TRANSFER = :EXTERNAL_TRANSFER EXTERNAL_WIRE = :EXTERNAL_WIRE MANAGEMENT_ADJUSTMENT = :MANAGEMENT_ADJUSTMENT diff --git a/lib/lithic/models/account_activity_list_response.rb b/lib/lithic/models/account_activity_list_response.rb index de75bde8..942e29e9 100644 --- a/lib/lithic/models/account_activity_list_response.rb +++ b/lib/lithic/models/account_activity_list_response.rb @@ -154,6 +154,8 @@ module Category CARD = :CARD EXTERNAL_ACH = :EXTERNAL_ACH EXTERNAL_CHECK = :EXTERNAL_CHECK + EXTERNAL_FEDNOW = :EXTERNAL_FEDNOW + EXTERNAL_RTP = :EXTERNAL_RTP EXTERNAL_TRANSFER = :EXTERNAL_TRANSFER EXTERNAL_WIRE = :EXTERNAL_WIRE MANAGEMENT_ADJUSTMENT = :MANAGEMENT_ADJUSTMENT diff --git a/lib/lithic/models/account_activity_retrieve_transaction_response.rb b/lib/lithic/models/account_activity_retrieve_transaction_response.rb index 43ad17a5..6bd65c47 100644 --- a/lib/lithic/models/account_activity_retrieve_transaction_response.rb +++ b/lib/lithic/models/account_activity_retrieve_transaction_response.rb @@ -157,6 +157,8 @@ module Category CARD = :CARD EXTERNAL_ACH = :EXTERNAL_ACH EXTERNAL_CHECK = :EXTERNAL_CHECK + EXTERNAL_FEDNOW = :EXTERNAL_FEDNOW + EXTERNAL_RTP = :EXTERNAL_RTP EXTERNAL_TRANSFER = :EXTERNAL_TRANSFER EXTERNAL_WIRE = :EXTERNAL_WIRE MANAGEMENT_ADJUSTMENT = :MANAGEMENT_ADJUSTMENT diff --git a/lib/lithic/models/auth_rules/auth_rule.rb b/lib/lithic/models/auth_rules/auth_rule.rb index 50354f7f..0b496259 100644 --- a/lib/lithic/models/auth_rules/auth_rule.rb +++ b/lib/lithic/models/auth_rules/auth_rule.rb @@ -3,90 +3,225 @@ module Lithic module Models module AuthRules + # @see Lithic::Resources::AuthRules::V2#create class AuthRule < Lithic::Internal::Type::BaseModel # @!attribute token - # Globally unique identifier. + # Auth Rule Token # # @return [String] required :token, String - # @!attribute state - # Indicates whether the Auth Rule is ACTIVE or INACTIVE + # @!attribute account_tokens + # Account tokens to which the Auth Rule applies. # - # @return [Symbol, Lithic::Models::AuthRules::AuthRule::State] - required :state, enum: -> { Lithic::AuthRules::AuthRule::State } + # @return [Array] + required :account_tokens, Lithic::Internal::Type::ArrayOf[String] - # @!attribute account_tokens - # Array of account_token(s) identifying the accounts that the Auth Rule applies - # to. Note that only this field or `card_tokens` can be provided for a given Auth - # Rule. + # @!attribute business_account_tokens + # Business Account tokens to which the Auth Rule applies. # - # @return [Array, nil] - optional :account_tokens, Lithic::Internal::Type::ArrayOf[String] + # @return [Array] + required :business_account_tokens, Lithic::Internal::Type::ArrayOf[String] - # @!attribute allowed_countries - # Countries in which the Auth Rule permits transactions. Note that Lithic - # maintains a list of countries in which all transactions are blocked; "allowing" - # those countries in an Auth Rule does not override the Lithic-wide restrictions. + # @!attribute card_tokens + # Card tokens to which the Auth Rule applies. # - # @return [Array, nil] - optional :allowed_countries, Lithic::Internal::Type::ArrayOf[String] + # @return [Array] + required :card_tokens, Lithic::Internal::Type::ArrayOf[String] - # @!attribute allowed_mcc - # Merchant category codes for which the Auth Rule permits transactions. + # @!attribute current_version # - # @return [Array, nil] - optional :allowed_mcc, Lithic::Internal::Type::ArrayOf[String] + # @return [Lithic::Models::AuthRules::AuthRule::CurrentVersion, nil] + required :current_version, -> { Lithic::AuthRules::AuthRule::CurrentVersion }, nil?: true - # @!attribute blocked_countries - # Countries in which the Auth Rule automatically declines transactions. + # @!attribute draft_version # - # @return [Array, nil] - optional :blocked_countries, Lithic::Internal::Type::ArrayOf[String] + # @return [Lithic::Models::AuthRules::AuthRule::DraftVersion, nil] + required :draft_version, -> { Lithic::AuthRules::AuthRule::DraftVersion }, nil?: true - # @!attribute blocked_mcc - # Merchant category codes for which the Auth Rule automatically declines - # transactions. + # @!attribute event_stream + # The event stream during which the rule will be evaluated. # - # @return [Array, nil] - optional :blocked_mcc, Lithic::Internal::Type::ArrayOf[String] + # @return [Symbol, Lithic::Models::AuthRules::EventStream] + required :event_stream, enum: -> { Lithic::AuthRules::EventStream } - # @!attribute card_tokens - # Array of card_token(s) identifying the cards that the Auth Rule applies to. Note - # that only this field or `account_tokens` can be provided for a given Auth Rule. + # @!attribute lithic_managed + # Indicates whether this auth rule is managed by Lithic. If true, the rule cannot + # be modified or deleted by the user # - # @return [Array, nil] - optional :card_tokens, Lithic::Internal::Type::ArrayOf[String] + # @return [Boolean] + required :lithic_managed, Lithic::Internal::Type::Boolean + + # @!attribute name + # Auth Rule Name + # + # @return [String, nil] + required :name, String, nil?: true # @!attribute program_level - # Boolean indicating whether the Auth Rule is applied at the program level. + # Whether the Auth Rule applies to all authorizations on the card program. # - # @return [Boolean, nil] - optional :program_level, Lithic::Internal::Type::Boolean + # @return [Boolean] + required :program_level, Lithic::Internal::Type::Boolean - # @!method initialize(token:, state:, account_tokens: nil, allowed_countries: nil, allowed_mcc: nil, blocked_countries: nil, blocked_mcc: nil, card_tokens: nil, program_level: nil) + # @!attribute state + # The state of the Auth Rule + # + # @return [Symbol, Lithic::Models::AuthRules::AuthRule::State] + required :state, enum: -> { Lithic::AuthRules::AuthRule::State } + + # @!attribute type + # The type of Auth Rule. For certain rule types, this determines the event stream + # during which it will be evaluated. For rules that can be applied to one of + # several event streams, the effective one is defined by the separate + # `event_stream` field. + # + # - `CONDITIONAL_BLOCK`: AUTHORIZATION event stream. + # - `VELOCITY_LIMIT`: AUTHORIZATION event stream. + # - `MERCHANT_LOCK`: AUTHORIZATION event stream. + # - `CONDITIONAL_ACTION`: AUTHORIZATION, THREE_DS_AUTHENTICATION, TOKENIZATION, + # ACH_CREDIT_RECEIPT, or ACH_DEBIT_RECEIPT event stream. + # + # @return [Symbol, Lithic::Models::AuthRules::AuthRule::Type] + required :type, enum: -> { Lithic::AuthRules::AuthRule::Type } + + # @!attribute excluded_card_tokens + # Card tokens to which the Auth Rule does not apply. + # + # @return [Array, nil] + optional :excluded_card_tokens, Lithic::Internal::Type::ArrayOf[String] + + # @!method initialize(token:, account_tokens:, business_account_tokens:, card_tokens:, current_version:, draft_version:, event_stream:, lithic_managed:, name:, program_level:, state:, type:, excluded_card_tokens: nil) # Some parameter documentations has been truncated, see # {Lithic::Models::AuthRules::AuthRule} for more details. # - # @param token [String] Globally unique identifier. + # @param token [String] Auth Rule Token + # + # @param account_tokens [Array] Account tokens to which the Auth Rule applies. + # + # @param business_account_tokens [Array] Business Account tokens to which the Auth Rule applies. + # + # @param card_tokens [Array] Card tokens to which the Auth Rule applies. # - # @param state [Symbol, Lithic::Models::AuthRules::AuthRule::State] Indicates whether the Auth Rule is ACTIVE or INACTIVE + # @param current_version [Lithic::Models::AuthRules::AuthRule::CurrentVersion, nil] # - # @param account_tokens [Array] Array of account_token(s) identifying the accounts that the Auth Rule applies to + # @param draft_version [Lithic::Models::AuthRules::AuthRule::DraftVersion, nil] # - # @param allowed_countries [Array] Countries in which the Auth Rule permits transactions. Note that Lithic maintain + # @param event_stream [Symbol, Lithic::Models::AuthRules::EventStream] The event stream during which the rule will be evaluated. # - # @param allowed_mcc [Array] Merchant category codes for which the Auth Rule permits transactions. + # @param lithic_managed [Boolean] Indicates whether this auth rule is managed by Lithic. If true, the rule cannot # - # @param blocked_countries [Array] Countries in which the Auth Rule automatically declines transactions. + # @param name [String, nil] Auth Rule Name # - # @param blocked_mcc [Array] Merchant category codes for which the Auth Rule automatically declines transacti + # @param program_level [Boolean] Whether the Auth Rule applies to all authorizations on the card program. # - # @param card_tokens [Array] Array of card_token(s) identifying the cards that the Auth Rule applies to. Note + # @param state [Symbol, Lithic::Models::AuthRules::AuthRule::State] The state of the Auth Rule # - # @param program_level [Boolean] Boolean indicating whether the Auth Rule is applied at the program level. + # @param type [Symbol, Lithic::Models::AuthRules::AuthRule::Type] The type of Auth Rule. For certain rule types, this determines the event stream + # + # @param excluded_card_tokens [Array] Card tokens to which the Auth Rule does not apply. + + # @see Lithic::Models::AuthRules::AuthRule#current_version + class CurrentVersion < Lithic::Internal::Type::BaseModel + # @!attribute parameters + # Parameters for the Auth Rule + # + # @return [Lithic::Models::AuthRules::ConditionalBlockParameters, Lithic::Models::AuthRules::VelocityLimitParams, Lithic::Models::AuthRules::MerchantLockParameters, Lithic::Models::AuthRules::Conditional3DSActionParameters, Lithic::Models::AuthRules::ConditionalAuthorizationActionParameters, Lithic::Models::AuthRules::ConditionalACHActionParameters, Lithic::Models::AuthRules::ConditionalTokenizationActionParameters] + required :parameters, union: -> { Lithic::AuthRules::AuthRule::CurrentVersion::Parameters } + + response_only do + # @!attribute version + # The version of the rule, this is incremented whenever the rule's parameters + # change. + # + # @return [Integer] + required :version, Integer + end + + # @!method initialize(parameters:, version:) + # Some parameter documentations has been truncated, see + # {Lithic::Models::AuthRules::AuthRule::CurrentVersion} for more details. + # + # @param parameters [Lithic::Models::AuthRules::ConditionalBlockParameters, Lithic::Models::AuthRules::VelocityLimitParams, Lithic::Models::AuthRules::MerchantLockParameters, Lithic::Models::AuthRules::Conditional3DSActionParameters, Lithic::Models::AuthRules::ConditionalAuthorizationActionParameters, Lithic::Models::AuthRules::ConditionalACHActionParameters, Lithic::Models::AuthRules::ConditionalTokenizationActionParameters] Parameters for the Auth Rule + # + # @param version [Integer] The version of the rule, this is incremented whenever the rule's parameters chan - # Indicates whether the Auth Rule is ACTIVE or INACTIVE + # Parameters for the Auth Rule + # + # @see Lithic::Models::AuthRules::AuthRule::CurrentVersion#parameters + module Parameters + extend Lithic::Internal::Type::Union + + variant -> { Lithic::AuthRules::ConditionalBlockParameters } + + variant -> { Lithic::AuthRules::VelocityLimitParams } + + variant -> { Lithic::AuthRules::MerchantLockParameters } + + variant -> { Lithic::AuthRules::Conditional3DSActionParameters } + + variant -> { Lithic::AuthRules::ConditionalAuthorizationActionParameters } + + variant -> { Lithic::AuthRules::ConditionalACHActionParameters } + + variant -> { Lithic::AuthRules::ConditionalTokenizationActionParameters } + + # @!method self.variants + # @return [Array(Lithic::Models::AuthRules::ConditionalBlockParameters, Lithic::Models::AuthRules::VelocityLimitParams, Lithic::Models::AuthRules::MerchantLockParameters, Lithic::Models::AuthRules::Conditional3DSActionParameters, Lithic::Models::AuthRules::ConditionalAuthorizationActionParameters, Lithic::Models::AuthRules::ConditionalACHActionParameters, Lithic::Models::AuthRules::ConditionalTokenizationActionParameters)] + end + end + + # @see Lithic::Models::AuthRules::AuthRule#draft_version + class DraftVersion < Lithic::Internal::Type::BaseModel + # @!attribute parameters + # Parameters for the Auth Rule + # + # @return [Lithic::Models::AuthRules::ConditionalBlockParameters, Lithic::Models::AuthRules::VelocityLimitParams, Lithic::Models::AuthRules::MerchantLockParameters, Lithic::Models::AuthRules::Conditional3DSActionParameters, Lithic::Models::AuthRules::ConditionalAuthorizationActionParameters, Lithic::Models::AuthRules::ConditionalACHActionParameters, Lithic::Models::AuthRules::ConditionalTokenizationActionParameters] + required :parameters, union: -> { Lithic::AuthRules::AuthRule::DraftVersion::Parameters } + + response_only do + # @!attribute version + # The version of the rule, this is incremented whenever the rule's parameters + # change. + # + # @return [Integer] + required :version, Integer + end + + # @!method initialize(parameters:, version:) + # Some parameter documentations has been truncated, see + # {Lithic::Models::AuthRules::AuthRule::DraftVersion} for more details. + # + # @param parameters [Lithic::Models::AuthRules::ConditionalBlockParameters, Lithic::Models::AuthRules::VelocityLimitParams, Lithic::Models::AuthRules::MerchantLockParameters, Lithic::Models::AuthRules::Conditional3DSActionParameters, Lithic::Models::AuthRules::ConditionalAuthorizationActionParameters, Lithic::Models::AuthRules::ConditionalACHActionParameters, Lithic::Models::AuthRules::ConditionalTokenizationActionParameters] Parameters for the Auth Rule + # + # @param version [Integer] The version of the rule, this is incremented whenever the rule's parameters chan + + # Parameters for the Auth Rule + # + # @see Lithic::Models::AuthRules::AuthRule::DraftVersion#parameters + module Parameters + extend Lithic::Internal::Type::Union + + variant -> { Lithic::AuthRules::ConditionalBlockParameters } + + variant -> { Lithic::AuthRules::VelocityLimitParams } + + variant -> { Lithic::AuthRules::MerchantLockParameters } + + variant -> { Lithic::AuthRules::Conditional3DSActionParameters } + + variant -> { Lithic::AuthRules::ConditionalAuthorizationActionParameters } + + variant -> { Lithic::AuthRules::ConditionalACHActionParameters } + + variant -> { Lithic::AuthRules::ConditionalTokenizationActionParameters } + + # @!method self.variants + # @return [Array(Lithic::Models::AuthRules::ConditionalBlockParameters, Lithic::Models::AuthRules::VelocityLimitParams, Lithic::Models::AuthRules::MerchantLockParameters, Lithic::Models::AuthRules::Conditional3DSActionParameters, Lithic::Models::AuthRules::ConditionalAuthorizationActionParameters, Lithic::Models::AuthRules::ConditionalACHActionParameters, Lithic::Models::AuthRules::ConditionalTokenizationActionParameters)] + end + end + + # The state of the Auth Rule # # @see Lithic::Models::AuthRules::AuthRule#state module State @@ -98,6 +233,30 @@ module State # @!method self.values # @return [Array] end + + # The type of Auth Rule. For certain rule types, this determines the event stream + # during which it will be evaluated. For rules that can be applied to one of + # several event streams, the effective one is defined by the separate + # `event_stream` field. + # + # - `CONDITIONAL_BLOCK`: AUTHORIZATION event stream. + # - `VELOCITY_LIMIT`: AUTHORIZATION event stream. + # - `MERCHANT_LOCK`: AUTHORIZATION event stream. + # - `CONDITIONAL_ACTION`: AUTHORIZATION, THREE_DS_AUTHENTICATION, TOKENIZATION, + # ACH_CREDIT_RECEIPT, or ACH_DEBIT_RECEIPT event stream. + # + # @see Lithic::Models::AuthRules::AuthRule#type + module Type + extend Lithic::Internal::Type::Enum + + CONDITIONAL_BLOCK = :CONDITIONAL_BLOCK + VELOCITY_LIMIT = :VELOCITY_LIMIT + MERCHANT_LOCK = :MERCHANT_LOCK + CONDITIONAL_ACTION = :CONDITIONAL_ACTION + + # @!method self.values + # @return [Array] + end end end diff --git a/lib/lithic/models/auth_rules/auth_rule_condition.rb b/lib/lithic/models/auth_rules/auth_rule_condition.rb index 670524a7..073cf6df 100644 --- a/lib/lithic/models/auth_rules/auth_rule_condition.rb +++ b/lib/lithic/models/auth_rules/auth_rule_condition.rb @@ -68,7 +68,7 @@ class AuthRuleCondition < Lithic::Internal::Type::BaseModel # @!attribute value # A regex string, to be used with `MATCHES` or `DOES_NOT_MATCH` # - # @return [String, Integer, Array] + # @return [String, Integer, Array, Time] required :value, union: -> { Lithic::AuthRules::ConditionalValue } # @!method initialize(attribute:, operation:, value:) @@ -79,7 +79,7 @@ class AuthRuleCondition < Lithic::Internal::Type::BaseModel # # @param operation [Symbol, Lithic::Models::AuthRules::ConditionalOperation] The operation to apply to the attribute # - # @param value [String, Integer, Array] A regex string, to be used with `MATCHES` or `DOES_NOT_MATCH` + # @param value [String, Integer, Array, Time] A regex string, to be used with `MATCHES` or `DOES_NOT_MATCH` end end 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 00da70d6..38a9ede2 100644 --- a/lib/lithic/models/auth_rules/conditional_3ds_action_parameters.rb +++ b/lib/lithic/models/auth_rules/conditional_3ds_action_parameters.rb @@ -73,7 +73,7 @@ class Condition < Lithic::Internal::Type::BaseModel # @!attribute value # A regex string, to be used with `MATCHES` or `DOES_NOT_MATCH` # - # @return [String, Integer, Array] + # @return [String, Integer, Array, Time] required :value, union: -> { Lithic::AuthRules::ConditionalValue } # @!method initialize(attribute:, operation:, value:) @@ -85,7 +85,7 @@ class Condition < Lithic::Internal::Type::BaseModel # # @param operation [Symbol, Lithic::Models::AuthRules::ConditionalOperation] The operation to apply to the attribute # - # @param value [String, Integer, Array] A regex string, to be used with `MATCHES` or `DOES_NOT_MATCH` + # @param value [String, Integer, Array, Time] A regex string, to be used with `MATCHES` or `DOES_NOT_MATCH` # The attribute to target. # diff --git a/lib/lithic/models/auth_rules/conditional_ach_action_parameters.rb b/lib/lithic/models/auth_rules/conditional_ach_action_parameters.rb index 9b22cd09..bfe5104b 100644 --- a/lib/lithic/models/auth_rules/conditional_ach_action_parameters.rb +++ b/lib/lithic/models/auth_rules/conditional_ach_action_parameters.rb @@ -209,7 +209,7 @@ class Condition < Lithic::Internal::Type::BaseModel # @!attribute value # A regex string, to be used with `MATCHES` or `DOES_NOT_MATCH` # - # @return [String, Integer, Array] + # @return [String, Integer, Array, Time] required :value, union: -> { Lithic::AuthRules::ConditionalValue } # @!method initialize(attribute:, operation:, value:) @@ -221,7 +221,7 @@ class Condition < Lithic::Internal::Type::BaseModel # # @param operation [Symbol, Lithic::Models::AuthRules::ConditionalOperation] The operation to apply to the attribute # - # @param value [String, Integer, Array] A regex string, to be used with `MATCHES` or `DOES_NOT_MATCH` + # @param value [String, Integer, Array, Time] A regex string, to be used with `MATCHES` or `DOES_NOT_MATCH` # The attribute to target. # diff --git a/lib/lithic/models/auth_rules/conditional_authorization_action_parameters.rb b/lib/lithic/models/auth_rules/conditional_authorization_action_parameters.rb index e512a3b3..7cd0e29e 100644 --- a/lib/lithic/models/auth_rules/conditional_authorization_action_parameters.rb +++ b/lib/lithic/models/auth_rules/conditional_authorization_action_parameters.rb @@ -104,7 +104,7 @@ class Condition < Lithic::Internal::Type::BaseModel # @!attribute value # A regex string, to be used with `MATCHES` or `DOES_NOT_MATCH` # - # @return [String, Integer, Array] + # @return [String, Integer, Array, Time] required :value, union: -> { Lithic::AuthRules::ConditionalValue } # @!method initialize(attribute:, operation:, value:) @@ -116,7 +116,7 @@ class Condition < Lithic::Internal::Type::BaseModel # # @param operation [Symbol, Lithic::Models::AuthRules::ConditionalOperation] The operation to apply to the attribute # - # @param value [String, Integer, Array] A regex string, to be used with `MATCHES` or `DOES_NOT_MATCH` + # @param value [String, Integer, Array, Time] A regex string, to be used with `MATCHES` or `DOES_NOT_MATCH` # The attribute to target. # diff --git a/lib/lithic/models/auth_rules/conditional_operation.rb b/lib/lithic/models/auth_rules/conditional_operation.rb index 954bf04d..90ef4f4d 100644 --- a/lib/lithic/models/auth_rules/conditional_operation.rb +++ b/lib/lithic/models/auth_rules/conditional_operation.rb @@ -17,6 +17,11 @@ module ConditionalOperation IS_GREATER_THAN_OR_EQUAL_TO = :IS_GREATER_THAN_OR_EQUAL_TO IS_LESS_THAN = :IS_LESS_THAN IS_LESS_THAN_OR_EQUAL_TO = :IS_LESS_THAN_OR_EQUAL_TO + IS_AFTER = :IS_AFTER + IS_BEFORE = :IS_BEFORE + CONTAINS_ANY = :CONTAINS_ANY + CONTAINS_ALL = :CONTAINS_ALL + CONTAINS_NONE = :CONTAINS_NONE # @!method self.values # @return [Array] diff --git a/lib/lithic/models/auth_rules/conditional_tokenization_action_parameters.rb b/lib/lithic/models/auth_rules/conditional_tokenization_action_parameters.rb index 48e45259..70152f6c 100644 --- a/lib/lithic/models/auth_rules/conditional_tokenization_action_parameters.rb +++ b/lib/lithic/models/auth_rules/conditional_tokenization_action_parameters.rb @@ -175,6 +175,14 @@ class Condition < Lithic::Internal::Type::BaseModel # - `WALLET_RECOMMENDED_DECISION`: The decision recommended by the digital wallet # provider. Valid values include APPROVE, DECLINE, # REQUIRE_ADDITIONAL_AUTHENTICATION. + # - `WALLET_RECOMMENDATION_REASONS`: List of reasons provided by the digital + # wallet provider for the recommended decision. Valid values are + # `ACCOUNT_CARD_TOO_NEW`, `ACCOUNT_RECENTLY_CHANGED`, `ACCOUNT_TOO_NEW`, + # `ACCOUNT_TOO_NEW_SINCE_LAUNCH`, `DEVICE_RECENTLY_LOST`, + # `HAS_SUSPENDED_TOKENS`, `HIGH_RISK`, `INACTIVE_ACCOUNT`, `LOW_ACCOUNT_SCORE`, + # `LOW_DEVICE_SCORE`, `OUTSIDE_HOME_TERRITORY`, `SUSPICIOUS_ACTIVITY`, + # `TOO_MANY_DIFFERENT_CARDHOLDERS`, `TOO_MANY_RECENT_ATTEMPTS`, + # `TOO_MANY_RECENT_TOKENS`, `UNABLE_TO_ASSESS`. # - `TOKEN_REQUESTOR_ID`: Unique identifier for the entity requesting the token. # - `WALLET_TOKEN_STATUS`: The current status of the wallet token. # @@ -191,7 +199,7 @@ class Condition < Lithic::Internal::Type::BaseModel # @!attribute value # A regex string, to be used with `MATCHES` or `DOES_NOT_MATCH` # - # @return [String, Integer, Array] + # @return [String, Integer, Array, Time] required :value, union: -> { Lithic::AuthRules::ConditionalValue } # @!method initialize(attribute:, operation:, value:) @@ -203,7 +211,7 @@ class Condition < Lithic::Internal::Type::BaseModel # # @param operation [Symbol, Lithic::Models::AuthRules::ConditionalOperation] The operation to apply to the attribute # - # @param value [String, Integer, Array] A regex string, to be used with `MATCHES` or `DOES_NOT_MATCH` + # @param value [String, Integer, Array, Time] A regex string, to be used with `MATCHES` or `DOES_NOT_MATCH` # The attribute to target. # @@ -227,6 +235,14 @@ class Condition < Lithic::Internal::Type::BaseModel # - `WALLET_RECOMMENDED_DECISION`: The decision recommended by the digital wallet # provider. Valid values include APPROVE, DECLINE, # REQUIRE_ADDITIONAL_AUTHENTICATION. + # - `WALLET_RECOMMENDATION_REASONS`: List of reasons provided by the digital + # wallet provider for the recommended decision. Valid values are + # `ACCOUNT_CARD_TOO_NEW`, `ACCOUNT_RECENTLY_CHANGED`, `ACCOUNT_TOO_NEW`, + # `ACCOUNT_TOO_NEW_SINCE_LAUNCH`, `DEVICE_RECENTLY_LOST`, + # `HAS_SUSPENDED_TOKENS`, `HIGH_RISK`, `INACTIVE_ACCOUNT`, `LOW_ACCOUNT_SCORE`, + # `LOW_DEVICE_SCORE`, `OUTSIDE_HOME_TERRITORY`, `SUSPICIOUS_ACTIVITY`, + # `TOO_MANY_DIFFERENT_CARDHOLDERS`, `TOO_MANY_RECENT_ATTEMPTS`, + # `TOO_MANY_RECENT_TOKENS`, `UNABLE_TO_ASSESS`. # - `TOKEN_REQUESTOR_ID`: Unique identifier for the entity requesting the token. # - `WALLET_TOKEN_STATUS`: The current status of the wallet token. # @@ -241,6 +257,7 @@ module Attribute WALLET_ACCOUNT_SCORE = :WALLET_ACCOUNT_SCORE WALLET_DEVICE_SCORE = :WALLET_DEVICE_SCORE WALLET_RECOMMENDED_DECISION = :WALLET_RECOMMENDED_DECISION + WALLET_RECOMMENDATION_REASONS = :WALLET_RECOMMENDATION_REASONS TOKEN_REQUESTOR_ID = :TOKEN_REQUESTOR_ID WALLET_TOKEN_STATUS = :WALLET_TOKEN_STATUS diff --git a/lib/lithic/models/auth_rules/conditional_value.rb b/lib/lithic/models/auth_rules/conditional_value.rb index 64a34fe2..9668a57b 100644 --- a/lib/lithic/models/auth_rules/conditional_value.rb +++ b/lib/lithic/models/auth_rules/conditional_value.rb @@ -16,8 +16,11 @@ module ConditionalValue # An array of strings, to be used with `IS_ONE_OF` or `IS_NOT_ONE_OF` variant -> { Lithic::Models::AuthRules::ConditionalValue::StringArray } + # A timestamp, to be used with `IS_AFTER` or `IS_BEFORE` + variant Time + # @!method self.variants - # @return [Array(String, Integer, Array)] + # @return [Array(String, Integer, Array, Time)] # @type [Lithic::Internal::Type::Converter] StringArray = Lithic::Internal::Type::ArrayOf[String] diff --git a/lib/lithic/models/auth_rules/event_stream.rb b/lib/lithic/models/auth_rules/event_stream.rb new file mode 100644 index 00000000..0ca058a1 --- /dev/null +++ b/lib/lithic/models/auth_rules/event_stream.rb @@ -0,0 +1,21 @@ +# frozen_string_literal: true + +module Lithic + module Models + module AuthRules + # The event stream during which the rule will be evaluated. + module EventStream + extend Lithic::Internal::Type::Enum + + AUTHORIZATION = :AUTHORIZATION + THREE_DS_AUTHENTICATION = :THREE_DS_AUTHENTICATION + TOKENIZATION = :TOKENIZATION + ACH_CREDIT_RECEIPT = :ACH_CREDIT_RECEIPT + ACH_DEBIT_RECEIPT = :ACH_DEBIT_RECEIPT + + # @!method self.values + # @return [Array] + end + end + end +end diff --git a/lib/lithic/models/auth_rules/v2_create_params.rb b/lib/lithic/models/auth_rules/v2_create_params.rb index d15531c2..b402608d 100644 --- a/lib/lithic/models/auth_rules/v2_create_params.rb +++ b/lib/lithic/models/auth_rules/v2_create_params.rb @@ -44,8 +44,8 @@ class V2CreateParams < Lithic::Internal::Type::BaseModel # @!attribute event_stream # The event stream during which the rule will be evaluated. # - # @return [Symbol, Lithic::Models::AuthRules::V2CreateParams::EventStream, nil] - optional :event_stream, enum: -> { Lithic::AuthRules::V2CreateParams::EventStream } + # @return [Symbol, Lithic::Models::AuthRules::EventStream, nil] + optional :event_stream, enum: -> { Lithic::AuthRules::EventStream } # @!attribute name # Auth Rule Name @@ -87,7 +87,7 @@ class V2CreateParams < Lithic::Internal::Type::BaseModel # # @param business_account_tokens [Array] Business Account tokens to which the Auth Rule applies. # - # @param event_stream [Symbol, Lithic::Models::AuthRules::V2CreateParams::EventStream] The event stream during which the rule will be evaluated. + # @param event_stream [Symbol, Lithic::Models::AuthRules::EventStream] The event stream during which the rule will be evaluated. # # @param name [String, nil] Auth Rule Name # @@ -138,20 +138,6 @@ module Type # @!method self.values # @return [Array] end - - # The event stream during which the rule will be evaluated. - module EventStream - extend Lithic::Internal::Type::Enum - - AUTHORIZATION = :AUTHORIZATION - THREE_DS_AUTHENTICATION = :THREE_DS_AUTHENTICATION - TOKENIZATION = :TOKENIZATION - ACH_CREDIT_RECEIPT = :ACH_CREDIT_RECEIPT - ACH_DEBIT_RECEIPT = :ACH_DEBIT_RECEIPT - - # @!method self.values - # @return [Array] - end end end end diff --git a/lib/lithic/models/auth_rules/v2_create_response.rb b/lib/lithic/models/auth_rules/v2_create_response.rb deleted file mode 100644 index c235810c..00000000 --- a/lib/lithic/models/auth_rules/v2_create_response.rb +++ /dev/null @@ -1,280 +0,0 @@ -# frozen_string_literal: true - -module Lithic - module Models - module AuthRules - # @see Lithic::Resources::AuthRules::V2#create - class V2CreateResponse < Lithic::Internal::Type::BaseModel - # @!attribute token - # Auth Rule Token - # - # @return [String] - required :token, String - - # @!attribute account_tokens - # Account tokens to which the Auth Rule applies. - # - # @return [Array] - required :account_tokens, Lithic::Internal::Type::ArrayOf[String] - - # @!attribute business_account_tokens - # Business Account tokens to which the Auth Rule applies. - # - # @return [Array] - required :business_account_tokens, Lithic::Internal::Type::ArrayOf[String] - - # @!attribute card_tokens - # Card tokens to which the Auth Rule applies. - # - # @return [Array] - required :card_tokens, Lithic::Internal::Type::ArrayOf[String] - - # @!attribute current_version - # - # @return [Lithic::Models::AuthRules::V2CreateResponse::CurrentVersion, nil] - required :current_version, -> { Lithic::Models::AuthRules::V2CreateResponse::CurrentVersion }, nil?: true - - # @!attribute draft_version - # - # @return [Lithic::Models::AuthRules::V2CreateResponse::DraftVersion, nil] - required :draft_version, -> { Lithic::Models::AuthRules::V2CreateResponse::DraftVersion }, nil?: true - - # @!attribute event_stream - # The event stream during which the rule will be evaluated. - # - # @return [Symbol, Lithic::Models::AuthRules::V2CreateResponse::EventStream] - required :event_stream, enum: -> { Lithic::Models::AuthRules::V2CreateResponse::EventStream } - - # @!attribute lithic_managed - # Indicates whether this auth rule is managed by Lithic. If true, the rule cannot - # be modified or deleted by the user - # - # @return [Boolean] - required :lithic_managed, Lithic::Internal::Type::Boolean - - # @!attribute name - # Auth Rule Name - # - # @return [String, nil] - required :name, String, nil?: true - - # @!attribute program_level - # Whether the Auth Rule applies to all authorizations on the card program. - # - # @return [Boolean] - required :program_level, Lithic::Internal::Type::Boolean - - # @!attribute state - # The state of the Auth Rule - # - # @return [Symbol, Lithic::Models::AuthRules::V2CreateResponse::State] - required :state, enum: -> { Lithic::Models::AuthRules::V2CreateResponse::State } - - # @!attribute type - # The type of Auth Rule. For certain rule types, this determines the event stream - # during which it will be evaluated. For rules that can be applied to one of - # several event streams, the effective one is defined by the separate - # `event_stream` field. - # - # - `CONDITIONAL_BLOCK`: AUTHORIZATION event stream. - # - `VELOCITY_LIMIT`: AUTHORIZATION event stream. - # - `MERCHANT_LOCK`: AUTHORIZATION event stream. - # - `CONDITIONAL_ACTION`: AUTHORIZATION, THREE_DS_AUTHENTICATION, TOKENIZATION, - # ACH_CREDIT_RECEIPT, or ACH_DEBIT_RECEIPT event stream. - # - # @return [Symbol, Lithic::Models::AuthRules::V2CreateResponse::Type] - required :type, enum: -> { Lithic::Models::AuthRules::V2CreateResponse::Type } - - # @!attribute excluded_card_tokens - # Card tokens to which the Auth Rule does not apply. - # - # @return [Array, nil] - optional :excluded_card_tokens, Lithic::Internal::Type::ArrayOf[String] - - # @!method initialize(token:, account_tokens:, business_account_tokens:, card_tokens:, current_version:, draft_version:, event_stream:, lithic_managed:, name:, program_level:, state:, type:, excluded_card_tokens: nil) - # Some parameter documentations has been truncated, see - # {Lithic::Models::AuthRules::V2CreateResponse} for more details. - # - # @param token [String] Auth Rule Token - # - # @param account_tokens [Array] Account tokens to which the Auth Rule applies. - # - # @param business_account_tokens [Array] Business Account tokens to which the Auth Rule applies. - # - # @param card_tokens [Array] Card tokens to which the Auth Rule applies. - # - # @param current_version [Lithic::Models::AuthRules::V2CreateResponse::CurrentVersion, nil] - # - # @param draft_version [Lithic::Models::AuthRules::V2CreateResponse::DraftVersion, nil] - # - # @param event_stream [Symbol, Lithic::Models::AuthRules::V2CreateResponse::EventStream] The event stream during which the rule will be evaluated. - # - # @param lithic_managed [Boolean] Indicates whether this auth rule is managed by Lithic. If true, the rule cannot - # - # @param name [String, nil] Auth Rule Name - # - # @param program_level [Boolean] Whether the Auth Rule applies to all authorizations on the card program. - # - # @param state [Symbol, Lithic::Models::AuthRules::V2CreateResponse::State] The state of the Auth Rule - # - # @param type [Symbol, Lithic::Models::AuthRules::V2CreateResponse::Type] The type of Auth Rule. For certain rule types, this determines the event stream - # - # @param excluded_card_tokens [Array] Card tokens to which the Auth Rule does not apply. - - # @see Lithic::Models::AuthRules::V2CreateResponse#current_version - class CurrentVersion < Lithic::Internal::Type::BaseModel - # @!attribute parameters - # Parameters for the Auth Rule - # - # @return [Lithic::Models::AuthRules::ConditionalBlockParameters, Lithic::Models::AuthRules::VelocityLimitParams, Lithic::Models::AuthRules::MerchantLockParameters, Lithic::Models::AuthRules::Conditional3DSActionParameters, Lithic::Models::AuthRules::ConditionalAuthorizationActionParameters, Lithic::Models::AuthRules::ConditionalACHActionParameters, Lithic::Models::AuthRules::ConditionalTokenizationActionParameters] - required :parameters, - union: -> { Lithic::Models::AuthRules::V2CreateResponse::CurrentVersion::Parameters } - - response_only do - # @!attribute version - # The version of the rule, this is incremented whenever the rule's parameters - # change. - # - # @return [Integer] - required :version, Integer - end - - # @!method initialize(parameters:, version:) - # Some parameter documentations has been truncated, see - # {Lithic::Models::AuthRules::V2CreateResponse::CurrentVersion} for more details. - # - # @param parameters [Lithic::Models::AuthRules::ConditionalBlockParameters, Lithic::Models::AuthRules::VelocityLimitParams, Lithic::Models::AuthRules::MerchantLockParameters, Lithic::Models::AuthRules::Conditional3DSActionParameters, Lithic::Models::AuthRules::ConditionalAuthorizationActionParameters, Lithic::Models::AuthRules::ConditionalACHActionParameters, Lithic::Models::AuthRules::ConditionalTokenizationActionParameters] Parameters for the Auth Rule - # - # @param version [Integer] The version of the rule, this is incremented whenever the rule's parameters chan - - # Parameters for the Auth Rule - # - # @see Lithic::Models::AuthRules::V2CreateResponse::CurrentVersion#parameters - module Parameters - extend Lithic::Internal::Type::Union - - variant -> { Lithic::AuthRules::ConditionalBlockParameters } - - variant -> { Lithic::AuthRules::VelocityLimitParams } - - variant -> { Lithic::AuthRules::MerchantLockParameters } - - variant -> { Lithic::AuthRules::Conditional3DSActionParameters } - - variant -> { Lithic::AuthRules::ConditionalAuthorizationActionParameters } - - variant -> { Lithic::AuthRules::ConditionalACHActionParameters } - - variant -> { Lithic::AuthRules::ConditionalTokenizationActionParameters } - - # @!method self.variants - # @return [Array(Lithic::Models::AuthRules::ConditionalBlockParameters, Lithic::Models::AuthRules::VelocityLimitParams, Lithic::Models::AuthRules::MerchantLockParameters, Lithic::Models::AuthRules::Conditional3DSActionParameters, Lithic::Models::AuthRules::ConditionalAuthorizationActionParameters, Lithic::Models::AuthRules::ConditionalACHActionParameters, Lithic::Models::AuthRules::ConditionalTokenizationActionParameters)] - end - end - - # @see Lithic::Models::AuthRules::V2CreateResponse#draft_version - class DraftVersion < Lithic::Internal::Type::BaseModel - # @!attribute parameters - # Parameters for the Auth Rule - # - # @return [Lithic::Models::AuthRules::ConditionalBlockParameters, Lithic::Models::AuthRules::VelocityLimitParams, Lithic::Models::AuthRules::MerchantLockParameters, Lithic::Models::AuthRules::Conditional3DSActionParameters, Lithic::Models::AuthRules::ConditionalAuthorizationActionParameters, Lithic::Models::AuthRules::ConditionalACHActionParameters, Lithic::Models::AuthRules::ConditionalTokenizationActionParameters] - required :parameters, union: -> { Lithic::Models::AuthRules::V2CreateResponse::DraftVersion::Parameters } - - response_only do - # @!attribute version - # The version of the rule, this is incremented whenever the rule's parameters - # change. - # - # @return [Integer] - required :version, Integer - end - - # @!method initialize(parameters:, version:) - # Some parameter documentations has been truncated, see - # {Lithic::Models::AuthRules::V2CreateResponse::DraftVersion} for more details. - # - # @param parameters [Lithic::Models::AuthRules::ConditionalBlockParameters, Lithic::Models::AuthRules::VelocityLimitParams, Lithic::Models::AuthRules::MerchantLockParameters, Lithic::Models::AuthRules::Conditional3DSActionParameters, Lithic::Models::AuthRules::ConditionalAuthorizationActionParameters, Lithic::Models::AuthRules::ConditionalACHActionParameters, Lithic::Models::AuthRules::ConditionalTokenizationActionParameters] Parameters for the Auth Rule - # - # @param version [Integer] The version of the rule, this is incremented whenever the rule's parameters chan - - # Parameters for the Auth Rule - # - # @see Lithic::Models::AuthRules::V2CreateResponse::DraftVersion#parameters - module Parameters - extend Lithic::Internal::Type::Union - - variant -> { Lithic::AuthRules::ConditionalBlockParameters } - - variant -> { Lithic::AuthRules::VelocityLimitParams } - - variant -> { Lithic::AuthRules::MerchantLockParameters } - - variant -> { Lithic::AuthRules::Conditional3DSActionParameters } - - variant -> { Lithic::AuthRules::ConditionalAuthorizationActionParameters } - - variant -> { Lithic::AuthRules::ConditionalACHActionParameters } - - variant -> { Lithic::AuthRules::ConditionalTokenizationActionParameters } - - # @!method self.variants - # @return [Array(Lithic::Models::AuthRules::ConditionalBlockParameters, Lithic::Models::AuthRules::VelocityLimitParams, Lithic::Models::AuthRules::MerchantLockParameters, Lithic::Models::AuthRules::Conditional3DSActionParameters, Lithic::Models::AuthRules::ConditionalAuthorizationActionParameters, Lithic::Models::AuthRules::ConditionalACHActionParameters, Lithic::Models::AuthRules::ConditionalTokenizationActionParameters)] - end - end - - # The event stream during which the rule will be evaluated. - # - # @see Lithic::Models::AuthRules::V2CreateResponse#event_stream - module EventStream - extend Lithic::Internal::Type::Enum - - AUTHORIZATION = :AUTHORIZATION - THREE_DS_AUTHENTICATION = :THREE_DS_AUTHENTICATION - TOKENIZATION = :TOKENIZATION - ACH_CREDIT_RECEIPT = :ACH_CREDIT_RECEIPT - ACH_DEBIT_RECEIPT = :ACH_DEBIT_RECEIPT - - # @!method self.values - # @return [Array] - end - - # The state of the Auth Rule - # - # @see Lithic::Models::AuthRules::V2CreateResponse#state - module State - extend Lithic::Internal::Type::Enum - - ACTIVE = :ACTIVE - INACTIVE = :INACTIVE - - # @!method self.values - # @return [Array] - end - - # The type of Auth Rule. For certain rule types, this determines the event stream - # during which it will be evaluated. For rules that can be applied to one of - # several event streams, the effective one is defined by the separate - # `event_stream` field. - # - # - `CONDITIONAL_BLOCK`: AUTHORIZATION event stream. - # - `VELOCITY_LIMIT`: AUTHORIZATION event stream. - # - `MERCHANT_LOCK`: AUTHORIZATION event stream. - # - `CONDITIONAL_ACTION`: AUTHORIZATION, THREE_DS_AUTHENTICATION, TOKENIZATION, - # ACH_CREDIT_RECEIPT, or ACH_DEBIT_RECEIPT event stream. - # - # @see Lithic::Models::AuthRules::V2CreateResponse#type - module Type - extend Lithic::Internal::Type::Enum - - CONDITIONAL_BLOCK = :CONDITIONAL_BLOCK - VELOCITY_LIMIT = :VELOCITY_LIMIT - MERCHANT_LOCK = :MERCHANT_LOCK - CONDITIONAL_ACTION = :CONDITIONAL_ACTION - - # @!method self.values - # @return [Array] - end - end - end - end -end diff --git a/lib/lithic/models/auth_rules/v2_draft_response.rb b/lib/lithic/models/auth_rules/v2_draft_response.rb deleted file mode 100644 index b1cd473c..00000000 --- a/lib/lithic/models/auth_rules/v2_draft_response.rb +++ /dev/null @@ -1,279 +0,0 @@ -# frozen_string_literal: true - -module Lithic - module Models - module AuthRules - # @see Lithic::Resources::AuthRules::V2#draft - class V2DraftResponse < Lithic::Internal::Type::BaseModel - # @!attribute token - # Auth Rule Token - # - # @return [String] - required :token, String - - # @!attribute account_tokens - # Account tokens to which the Auth Rule applies. - # - # @return [Array] - required :account_tokens, Lithic::Internal::Type::ArrayOf[String] - - # @!attribute business_account_tokens - # Business Account tokens to which the Auth Rule applies. - # - # @return [Array] - required :business_account_tokens, Lithic::Internal::Type::ArrayOf[String] - - # @!attribute card_tokens - # Card tokens to which the Auth Rule applies. - # - # @return [Array] - required :card_tokens, Lithic::Internal::Type::ArrayOf[String] - - # @!attribute current_version - # - # @return [Lithic::Models::AuthRules::V2DraftResponse::CurrentVersion, nil] - required :current_version, -> { Lithic::Models::AuthRules::V2DraftResponse::CurrentVersion }, nil?: true - - # @!attribute draft_version - # - # @return [Lithic::Models::AuthRules::V2DraftResponse::DraftVersion, nil] - required :draft_version, -> { Lithic::Models::AuthRules::V2DraftResponse::DraftVersion }, nil?: true - - # @!attribute event_stream - # The event stream during which the rule will be evaluated. - # - # @return [Symbol, Lithic::Models::AuthRules::V2DraftResponse::EventStream] - required :event_stream, enum: -> { Lithic::Models::AuthRules::V2DraftResponse::EventStream } - - # @!attribute lithic_managed - # Indicates whether this auth rule is managed by Lithic. If true, the rule cannot - # be modified or deleted by the user - # - # @return [Boolean] - required :lithic_managed, Lithic::Internal::Type::Boolean - - # @!attribute name - # Auth Rule Name - # - # @return [String, nil] - required :name, String, nil?: true - - # @!attribute program_level - # Whether the Auth Rule applies to all authorizations on the card program. - # - # @return [Boolean] - required :program_level, Lithic::Internal::Type::Boolean - - # @!attribute state - # The state of the Auth Rule - # - # @return [Symbol, Lithic::Models::AuthRules::V2DraftResponse::State] - required :state, enum: -> { Lithic::Models::AuthRules::V2DraftResponse::State } - - # @!attribute type - # The type of Auth Rule. For certain rule types, this determines the event stream - # during which it will be evaluated. For rules that can be applied to one of - # several event streams, the effective one is defined by the separate - # `event_stream` field. - # - # - `CONDITIONAL_BLOCK`: AUTHORIZATION event stream. - # - `VELOCITY_LIMIT`: AUTHORIZATION event stream. - # - `MERCHANT_LOCK`: AUTHORIZATION event stream. - # - `CONDITIONAL_ACTION`: AUTHORIZATION, THREE_DS_AUTHENTICATION, TOKENIZATION, - # ACH_CREDIT_RECEIPT, or ACH_DEBIT_RECEIPT event stream. - # - # @return [Symbol, Lithic::Models::AuthRules::V2DraftResponse::Type] - required :type, enum: -> { Lithic::Models::AuthRules::V2DraftResponse::Type } - - # @!attribute excluded_card_tokens - # Card tokens to which the Auth Rule does not apply. - # - # @return [Array, nil] - optional :excluded_card_tokens, Lithic::Internal::Type::ArrayOf[String] - - # @!method initialize(token:, account_tokens:, business_account_tokens:, card_tokens:, current_version:, draft_version:, event_stream:, lithic_managed:, name:, program_level:, state:, type:, excluded_card_tokens: nil) - # Some parameter documentations has been truncated, see - # {Lithic::Models::AuthRules::V2DraftResponse} for more details. - # - # @param token [String] Auth Rule Token - # - # @param account_tokens [Array] Account tokens to which the Auth Rule applies. - # - # @param business_account_tokens [Array] Business Account tokens to which the Auth Rule applies. - # - # @param card_tokens [Array] Card tokens to which the Auth Rule applies. - # - # @param current_version [Lithic::Models::AuthRules::V2DraftResponse::CurrentVersion, nil] - # - # @param draft_version [Lithic::Models::AuthRules::V2DraftResponse::DraftVersion, nil] - # - # @param event_stream [Symbol, Lithic::Models::AuthRules::V2DraftResponse::EventStream] The event stream during which the rule will be evaluated. - # - # @param lithic_managed [Boolean] Indicates whether this auth rule is managed by Lithic. If true, the rule cannot - # - # @param name [String, nil] Auth Rule Name - # - # @param program_level [Boolean] Whether the Auth Rule applies to all authorizations on the card program. - # - # @param state [Symbol, Lithic::Models::AuthRules::V2DraftResponse::State] The state of the Auth Rule - # - # @param type [Symbol, Lithic::Models::AuthRules::V2DraftResponse::Type] The type of Auth Rule. For certain rule types, this determines the event stream - # - # @param excluded_card_tokens [Array] Card tokens to which the Auth Rule does not apply. - - # @see Lithic::Models::AuthRules::V2DraftResponse#current_version - class CurrentVersion < Lithic::Internal::Type::BaseModel - # @!attribute parameters - # Parameters for the Auth Rule - # - # @return [Lithic::Models::AuthRules::ConditionalBlockParameters, Lithic::Models::AuthRules::VelocityLimitParams, Lithic::Models::AuthRules::MerchantLockParameters, Lithic::Models::AuthRules::Conditional3DSActionParameters, Lithic::Models::AuthRules::ConditionalAuthorizationActionParameters, Lithic::Models::AuthRules::ConditionalACHActionParameters, Lithic::Models::AuthRules::ConditionalTokenizationActionParameters] - required :parameters, union: -> { Lithic::Models::AuthRules::V2DraftResponse::CurrentVersion::Parameters } - - response_only do - # @!attribute version - # The version of the rule, this is incremented whenever the rule's parameters - # change. - # - # @return [Integer] - required :version, Integer - end - - # @!method initialize(parameters:, version:) - # Some parameter documentations has been truncated, see - # {Lithic::Models::AuthRules::V2DraftResponse::CurrentVersion} for more details. - # - # @param parameters [Lithic::Models::AuthRules::ConditionalBlockParameters, Lithic::Models::AuthRules::VelocityLimitParams, Lithic::Models::AuthRules::MerchantLockParameters, Lithic::Models::AuthRules::Conditional3DSActionParameters, Lithic::Models::AuthRules::ConditionalAuthorizationActionParameters, Lithic::Models::AuthRules::ConditionalACHActionParameters, Lithic::Models::AuthRules::ConditionalTokenizationActionParameters] Parameters for the Auth Rule - # - # @param version [Integer] The version of the rule, this is incremented whenever the rule's parameters chan - - # Parameters for the Auth Rule - # - # @see Lithic::Models::AuthRules::V2DraftResponse::CurrentVersion#parameters - module Parameters - extend Lithic::Internal::Type::Union - - variant -> { Lithic::AuthRules::ConditionalBlockParameters } - - variant -> { Lithic::AuthRules::VelocityLimitParams } - - variant -> { Lithic::AuthRules::MerchantLockParameters } - - variant -> { Lithic::AuthRules::Conditional3DSActionParameters } - - variant -> { Lithic::AuthRules::ConditionalAuthorizationActionParameters } - - variant -> { Lithic::AuthRules::ConditionalACHActionParameters } - - variant -> { Lithic::AuthRules::ConditionalTokenizationActionParameters } - - # @!method self.variants - # @return [Array(Lithic::Models::AuthRules::ConditionalBlockParameters, Lithic::Models::AuthRules::VelocityLimitParams, Lithic::Models::AuthRules::MerchantLockParameters, Lithic::Models::AuthRules::Conditional3DSActionParameters, Lithic::Models::AuthRules::ConditionalAuthorizationActionParameters, Lithic::Models::AuthRules::ConditionalACHActionParameters, Lithic::Models::AuthRules::ConditionalTokenizationActionParameters)] - end - end - - # @see Lithic::Models::AuthRules::V2DraftResponse#draft_version - class DraftVersion < Lithic::Internal::Type::BaseModel - # @!attribute parameters - # Parameters for the Auth Rule - # - # @return [Lithic::Models::AuthRules::ConditionalBlockParameters, Lithic::Models::AuthRules::VelocityLimitParams, Lithic::Models::AuthRules::MerchantLockParameters, Lithic::Models::AuthRules::Conditional3DSActionParameters, Lithic::Models::AuthRules::ConditionalAuthorizationActionParameters, Lithic::Models::AuthRules::ConditionalACHActionParameters, Lithic::Models::AuthRules::ConditionalTokenizationActionParameters] - required :parameters, union: -> { Lithic::Models::AuthRules::V2DraftResponse::DraftVersion::Parameters } - - response_only do - # @!attribute version - # The version of the rule, this is incremented whenever the rule's parameters - # change. - # - # @return [Integer] - required :version, Integer - end - - # @!method initialize(parameters:, version:) - # Some parameter documentations has been truncated, see - # {Lithic::Models::AuthRules::V2DraftResponse::DraftVersion} for more details. - # - # @param parameters [Lithic::Models::AuthRules::ConditionalBlockParameters, Lithic::Models::AuthRules::VelocityLimitParams, Lithic::Models::AuthRules::MerchantLockParameters, Lithic::Models::AuthRules::Conditional3DSActionParameters, Lithic::Models::AuthRules::ConditionalAuthorizationActionParameters, Lithic::Models::AuthRules::ConditionalACHActionParameters, Lithic::Models::AuthRules::ConditionalTokenizationActionParameters] Parameters for the Auth Rule - # - # @param version [Integer] The version of the rule, this is incremented whenever the rule's parameters chan - - # Parameters for the Auth Rule - # - # @see Lithic::Models::AuthRules::V2DraftResponse::DraftVersion#parameters - module Parameters - extend Lithic::Internal::Type::Union - - variant -> { Lithic::AuthRules::ConditionalBlockParameters } - - variant -> { Lithic::AuthRules::VelocityLimitParams } - - variant -> { Lithic::AuthRules::MerchantLockParameters } - - variant -> { Lithic::AuthRules::Conditional3DSActionParameters } - - variant -> { Lithic::AuthRules::ConditionalAuthorizationActionParameters } - - variant -> { Lithic::AuthRules::ConditionalACHActionParameters } - - variant -> { Lithic::AuthRules::ConditionalTokenizationActionParameters } - - # @!method self.variants - # @return [Array(Lithic::Models::AuthRules::ConditionalBlockParameters, Lithic::Models::AuthRules::VelocityLimitParams, Lithic::Models::AuthRules::MerchantLockParameters, Lithic::Models::AuthRules::Conditional3DSActionParameters, Lithic::Models::AuthRules::ConditionalAuthorizationActionParameters, Lithic::Models::AuthRules::ConditionalACHActionParameters, Lithic::Models::AuthRules::ConditionalTokenizationActionParameters)] - end - end - - # The event stream during which the rule will be evaluated. - # - # @see Lithic::Models::AuthRules::V2DraftResponse#event_stream - module EventStream - extend Lithic::Internal::Type::Enum - - AUTHORIZATION = :AUTHORIZATION - THREE_DS_AUTHENTICATION = :THREE_DS_AUTHENTICATION - TOKENIZATION = :TOKENIZATION - ACH_CREDIT_RECEIPT = :ACH_CREDIT_RECEIPT - ACH_DEBIT_RECEIPT = :ACH_DEBIT_RECEIPT - - # @!method self.values - # @return [Array] - end - - # The state of the Auth Rule - # - # @see Lithic::Models::AuthRules::V2DraftResponse#state - module State - extend Lithic::Internal::Type::Enum - - ACTIVE = :ACTIVE - INACTIVE = :INACTIVE - - # @!method self.values - # @return [Array] - end - - # The type of Auth Rule. For certain rule types, this determines the event stream - # during which it will be evaluated. For rules that can be applied to one of - # several event streams, the effective one is defined by the separate - # `event_stream` field. - # - # - `CONDITIONAL_BLOCK`: AUTHORIZATION event stream. - # - `VELOCITY_LIMIT`: AUTHORIZATION event stream. - # - `MERCHANT_LOCK`: AUTHORIZATION event stream. - # - `CONDITIONAL_ACTION`: AUTHORIZATION, THREE_DS_AUTHENTICATION, TOKENIZATION, - # ACH_CREDIT_RECEIPT, or ACH_DEBIT_RECEIPT event stream. - # - # @see Lithic::Models::AuthRules::V2DraftResponse#type - module Type - extend Lithic::Internal::Type::Enum - - CONDITIONAL_BLOCK = :CONDITIONAL_BLOCK - VELOCITY_LIMIT = :VELOCITY_LIMIT - MERCHANT_LOCK = :MERCHANT_LOCK - CONDITIONAL_ACTION = :CONDITIONAL_ACTION - - # @!method self.values - # @return [Array] - end - end - end - end -end diff --git a/lib/lithic/models/auth_rules/v2_list_params.rb b/lib/lithic/models/auth_rules/v2_list_params.rb index 92a8e995..8973a75a 100644 --- a/lib/lithic/models/auth_rules/v2_list_params.rb +++ b/lib/lithic/models/auth_rules/v2_list_params.rb @@ -34,10 +34,19 @@ class V2ListParams < Lithic::Internal::Type::BaseModel optional :ending_before, String # @!attribute event_stream - # Only return Auth rules that are executed during the provided event stream. + # Deprecated: Use event_streams instead. Only return Auth rules that are executed + # during the provided event stream. # - # @return [Symbol, Lithic::Models::AuthRules::V2ListParams::EventStream, nil] - optional :event_stream, enum: -> { Lithic::AuthRules::V2ListParams::EventStream } + # @return [Symbol, Lithic::Models::AuthRules::EventStream, nil] + optional :event_stream, enum: -> { Lithic::AuthRules::EventStream } + + # @!attribute event_streams + # Only return Auth rules that are executed during any of the provided event + # streams. If event_streams and event_stream are specified, the values will be + # combined. + # + # @return [Array, nil] + optional :event_streams, -> { Lithic::Internal::Type::ArrayOf[enum: Lithic::AuthRules::EventStream] } # @!attribute page_size # Page size (for pagination). @@ -58,7 +67,7 @@ class V2ListParams < Lithic::Internal::Type::BaseModel # @return [String, nil] optional :starting_after, String - # @!method initialize(account_token: nil, business_account_token: nil, card_token: nil, ending_before: nil, event_stream: nil, page_size: nil, scope: nil, starting_after: nil, request_options: {}) + # @!method initialize(account_token: nil, business_account_token: nil, card_token: nil, ending_before: nil, event_stream: nil, event_streams: nil, page_size: nil, scope: nil, starting_after: nil, request_options: {}) # Some parameter documentations has been truncated, see # {Lithic::Models::AuthRules::V2ListParams} for more details. # @@ -70,7 +79,9 @@ class V2ListParams < Lithic::Internal::Type::BaseModel # # @param ending_before [String] A cursor representing an item's token before which a page of results should end. # - # @param event_stream [Symbol, Lithic::Models::AuthRules::V2ListParams::EventStream] Only return Auth rules that are executed during the provided event stream. + # @param event_stream [Symbol, Lithic::Models::AuthRules::EventStream] Deprecated: Use event_streams instead. Only return Auth rules that are executed + # + # @param event_streams [Array] Only return Auth rules that are executed during any of the provided event stream # # @param page_size [Integer] Page size (for pagination). # @@ -80,20 +91,6 @@ class V2ListParams < Lithic::Internal::Type::BaseModel # # @param request_options [Lithic::RequestOptions, Hash{Symbol=>Object}] - # Only return Auth rules that are executed during the provided event stream. - module EventStream - extend Lithic::Internal::Type::Enum - - AUTHORIZATION = :AUTHORIZATION - THREE_DS_AUTHENTICATION = :THREE_DS_AUTHENTICATION - TOKENIZATION = :TOKENIZATION - ACH_CREDIT_RECEIPT = :ACH_CREDIT_RECEIPT - ACH_DEBIT_RECEIPT = :ACH_DEBIT_RECEIPT - - # @!method self.values - # @return [Array] - end - # Only return Auth Rules that are bound to the provided scope. module Scope extend Lithic::Internal::Type::Enum diff --git a/lib/lithic/models/auth_rules/v2_list_response.rb b/lib/lithic/models/auth_rules/v2_list_response.rb deleted file mode 100644 index 8475ba03..00000000 --- a/lib/lithic/models/auth_rules/v2_list_response.rb +++ /dev/null @@ -1,279 +0,0 @@ -# frozen_string_literal: true - -module Lithic - module Models - module AuthRules - # @see Lithic::Resources::AuthRules::V2#list - class V2ListResponse < Lithic::Internal::Type::BaseModel - # @!attribute token - # Auth Rule Token - # - # @return [String] - required :token, String - - # @!attribute account_tokens - # Account tokens to which the Auth Rule applies. - # - # @return [Array] - required :account_tokens, Lithic::Internal::Type::ArrayOf[String] - - # @!attribute business_account_tokens - # Business Account tokens to which the Auth Rule applies. - # - # @return [Array] - required :business_account_tokens, Lithic::Internal::Type::ArrayOf[String] - - # @!attribute card_tokens - # Card tokens to which the Auth Rule applies. - # - # @return [Array] - required :card_tokens, Lithic::Internal::Type::ArrayOf[String] - - # @!attribute current_version - # - # @return [Lithic::Models::AuthRules::V2ListResponse::CurrentVersion, nil] - required :current_version, -> { Lithic::Models::AuthRules::V2ListResponse::CurrentVersion }, nil?: true - - # @!attribute draft_version - # - # @return [Lithic::Models::AuthRules::V2ListResponse::DraftVersion, nil] - required :draft_version, -> { Lithic::Models::AuthRules::V2ListResponse::DraftVersion }, nil?: true - - # @!attribute event_stream - # The event stream during which the rule will be evaluated. - # - # @return [Symbol, Lithic::Models::AuthRules::V2ListResponse::EventStream] - required :event_stream, enum: -> { Lithic::Models::AuthRules::V2ListResponse::EventStream } - - # @!attribute lithic_managed - # Indicates whether this auth rule is managed by Lithic. If true, the rule cannot - # be modified or deleted by the user - # - # @return [Boolean] - required :lithic_managed, Lithic::Internal::Type::Boolean - - # @!attribute name - # Auth Rule Name - # - # @return [String, nil] - required :name, String, nil?: true - - # @!attribute program_level - # Whether the Auth Rule applies to all authorizations on the card program. - # - # @return [Boolean] - required :program_level, Lithic::Internal::Type::Boolean - - # @!attribute state - # The state of the Auth Rule - # - # @return [Symbol, Lithic::Models::AuthRules::V2ListResponse::State] - required :state, enum: -> { Lithic::Models::AuthRules::V2ListResponse::State } - - # @!attribute type - # The type of Auth Rule. For certain rule types, this determines the event stream - # during which it will be evaluated. For rules that can be applied to one of - # several event streams, the effective one is defined by the separate - # `event_stream` field. - # - # - `CONDITIONAL_BLOCK`: AUTHORIZATION event stream. - # - `VELOCITY_LIMIT`: AUTHORIZATION event stream. - # - `MERCHANT_LOCK`: AUTHORIZATION event stream. - # - `CONDITIONAL_ACTION`: AUTHORIZATION, THREE_DS_AUTHENTICATION, TOKENIZATION, - # ACH_CREDIT_RECEIPT, or ACH_DEBIT_RECEIPT event stream. - # - # @return [Symbol, Lithic::Models::AuthRules::V2ListResponse::Type] - required :type, enum: -> { Lithic::Models::AuthRules::V2ListResponse::Type } - - # @!attribute excluded_card_tokens - # Card tokens to which the Auth Rule does not apply. - # - # @return [Array, nil] - optional :excluded_card_tokens, Lithic::Internal::Type::ArrayOf[String] - - # @!method initialize(token:, account_tokens:, business_account_tokens:, card_tokens:, current_version:, draft_version:, event_stream:, lithic_managed:, name:, program_level:, state:, type:, excluded_card_tokens: nil) - # Some parameter documentations has been truncated, see - # {Lithic::Models::AuthRules::V2ListResponse} for more details. - # - # @param token [String] Auth Rule Token - # - # @param account_tokens [Array] Account tokens to which the Auth Rule applies. - # - # @param business_account_tokens [Array] Business Account tokens to which the Auth Rule applies. - # - # @param card_tokens [Array] Card tokens to which the Auth Rule applies. - # - # @param current_version [Lithic::Models::AuthRules::V2ListResponse::CurrentVersion, nil] - # - # @param draft_version [Lithic::Models::AuthRules::V2ListResponse::DraftVersion, nil] - # - # @param event_stream [Symbol, Lithic::Models::AuthRules::V2ListResponse::EventStream] The event stream during which the rule will be evaluated. - # - # @param lithic_managed [Boolean] Indicates whether this auth rule is managed by Lithic. If true, the rule cannot - # - # @param name [String, nil] Auth Rule Name - # - # @param program_level [Boolean] Whether the Auth Rule applies to all authorizations on the card program. - # - # @param state [Symbol, Lithic::Models::AuthRules::V2ListResponse::State] The state of the Auth Rule - # - # @param type [Symbol, Lithic::Models::AuthRules::V2ListResponse::Type] The type of Auth Rule. For certain rule types, this determines the event stream - # - # @param excluded_card_tokens [Array] Card tokens to which the Auth Rule does not apply. - - # @see Lithic::Models::AuthRules::V2ListResponse#current_version - class CurrentVersion < Lithic::Internal::Type::BaseModel - # @!attribute parameters - # Parameters for the Auth Rule - # - # @return [Lithic::Models::AuthRules::ConditionalBlockParameters, Lithic::Models::AuthRules::VelocityLimitParams, Lithic::Models::AuthRules::MerchantLockParameters, Lithic::Models::AuthRules::Conditional3DSActionParameters, Lithic::Models::AuthRules::ConditionalAuthorizationActionParameters, Lithic::Models::AuthRules::ConditionalACHActionParameters, Lithic::Models::AuthRules::ConditionalTokenizationActionParameters] - required :parameters, union: -> { Lithic::Models::AuthRules::V2ListResponse::CurrentVersion::Parameters } - - response_only do - # @!attribute version - # The version of the rule, this is incremented whenever the rule's parameters - # change. - # - # @return [Integer] - required :version, Integer - end - - # @!method initialize(parameters:, version:) - # Some parameter documentations has been truncated, see - # {Lithic::Models::AuthRules::V2ListResponse::CurrentVersion} for more details. - # - # @param parameters [Lithic::Models::AuthRules::ConditionalBlockParameters, Lithic::Models::AuthRules::VelocityLimitParams, Lithic::Models::AuthRules::MerchantLockParameters, Lithic::Models::AuthRules::Conditional3DSActionParameters, Lithic::Models::AuthRules::ConditionalAuthorizationActionParameters, Lithic::Models::AuthRules::ConditionalACHActionParameters, Lithic::Models::AuthRules::ConditionalTokenizationActionParameters] Parameters for the Auth Rule - # - # @param version [Integer] The version of the rule, this is incremented whenever the rule's parameters chan - - # Parameters for the Auth Rule - # - # @see Lithic::Models::AuthRules::V2ListResponse::CurrentVersion#parameters - module Parameters - extend Lithic::Internal::Type::Union - - variant -> { Lithic::AuthRules::ConditionalBlockParameters } - - variant -> { Lithic::AuthRules::VelocityLimitParams } - - variant -> { Lithic::AuthRules::MerchantLockParameters } - - variant -> { Lithic::AuthRules::Conditional3DSActionParameters } - - variant -> { Lithic::AuthRules::ConditionalAuthorizationActionParameters } - - variant -> { Lithic::AuthRules::ConditionalACHActionParameters } - - variant -> { Lithic::AuthRules::ConditionalTokenizationActionParameters } - - # @!method self.variants - # @return [Array(Lithic::Models::AuthRules::ConditionalBlockParameters, Lithic::Models::AuthRules::VelocityLimitParams, Lithic::Models::AuthRules::MerchantLockParameters, Lithic::Models::AuthRules::Conditional3DSActionParameters, Lithic::Models::AuthRules::ConditionalAuthorizationActionParameters, Lithic::Models::AuthRules::ConditionalACHActionParameters, Lithic::Models::AuthRules::ConditionalTokenizationActionParameters)] - end - end - - # @see Lithic::Models::AuthRules::V2ListResponse#draft_version - class DraftVersion < Lithic::Internal::Type::BaseModel - # @!attribute parameters - # Parameters for the Auth Rule - # - # @return [Lithic::Models::AuthRules::ConditionalBlockParameters, Lithic::Models::AuthRules::VelocityLimitParams, Lithic::Models::AuthRules::MerchantLockParameters, Lithic::Models::AuthRules::Conditional3DSActionParameters, Lithic::Models::AuthRules::ConditionalAuthorizationActionParameters, Lithic::Models::AuthRules::ConditionalACHActionParameters, Lithic::Models::AuthRules::ConditionalTokenizationActionParameters] - required :parameters, union: -> { Lithic::Models::AuthRules::V2ListResponse::DraftVersion::Parameters } - - response_only do - # @!attribute version - # The version of the rule, this is incremented whenever the rule's parameters - # change. - # - # @return [Integer] - required :version, Integer - end - - # @!method initialize(parameters:, version:) - # Some parameter documentations has been truncated, see - # {Lithic::Models::AuthRules::V2ListResponse::DraftVersion} for more details. - # - # @param parameters [Lithic::Models::AuthRules::ConditionalBlockParameters, Lithic::Models::AuthRules::VelocityLimitParams, Lithic::Models::AuthRules::MerchantLockParameters, Lithic::Models::AuthRules::Conditional3DSActionParameters, Lithic::Models::AuthRules::ConditionalAuthorizationActionParameters, Lithic::Models::AuthRules::ConditionalACHActionParameters, Lithic::Models::AuthRules::ConditionalTokenizationActionParameters] Parameters for the Auth Rule - # - # @param version [Integer] The version of the rule, this is incremented whenever the rule's parameters chan - - # Parameters for the Auth Rule - # - # @see Lithic::Models::AuthRules::V2ListResponse::DraftVersion#parameters - module Parameters - extend Lithic::Internal::Type::Union - - variant -> { Lithic::AuthRules::ConditionalBlockParameters } - - variant -> { Lithic::AuthRules::VelocityLimitParams } - - variant -> { Lithic::AuthRules::MerchantLockParameters } - - variant -> { Lithic::AuthRules::Conditional3DSActionParameters } - - variant -> { Lithic::AuthRules::ConditionalAuthorizationActionParameters } - - variant -> { Lithic::AuthRules::ConditionalACHActionParameters } - - variant -> { Lithic::AuthRules::ConditionalTokenizationActionParameters } - - # @!method self.variants - # @return [Array(Lithic::Models::AuthRules::ConditionalBlockParameters, Lithic::Models::AuthRules::VelocityLimitParams, Lithic::Models::AuthRules::MerchantLockParameters, Lithic::Models::AuthRules::Conditional3DSActionParameters, Lithic::Models::AuthRules::ConditionalAuthorizationActionParameters, Lithic::Models::AuthRules::ConditionalACHActionParameters, Lithic::Models::AuthRules::ConditionalTokenizationActionParameters)] - end - end - - # The event stream during which the rule will be evaluated. - # - # @see Lithic::Models::AuthRules::V2ListResponse#event_stream - module EventStream - extend Lithic::Internal::Type::Enum - - AUTHORIZATION = :AUTHORIZATION - THREE_DS_AUTHENTICATION = :THREE_DS_AUTHENTICATION - TOKENIZATION = :TOKENIZATION - ACH_CREDIT_RECEIPT = :ACH_CREDIT_RECEIPT - ACH_DEBIT_RECEIPT = :ACH_DEBIT_RECEIPT - - # @!method self.values - # @return [Array] - end - - # The state of the Auth Rule - # - # @see Lithic::Models::AuthRules::V2ListResponse#state - module State - extend Lithic::Internal::Type::Enum - - ACTIVE = :ACTIVE - INACTIVE = :INACTIVE - - # @!method self.values - # @return [Array] - end - - # The type of Auth Rule. For certain rule types, this determines the event stream - # during which it will be evaluated. For rules that can be applied to one of - # several event streams, the effective one is defined by the separate - # `event_stream` field. - # - # - `CONDITIONAL_BLOCK`: AUTHORIZATION event stream. - # - `VELOCITY_LIMIT`: AUTHORIZATION event stream. - # - `MERCHANT_LOCK`: AUTHORIZATION event stream. - # - `CONDITIONAL_ACTION`: AUTHORIZATION, THREE_DS_AUTHENTICATION, TOKENIZATION, - # ACH_CREDIT_RECEIPT, or ACH_DEBIT_RECEIPT event stream. - # - # @see Lithic::Models::AuthRules::V2ListResponse#type - module Type - extend Lithic::Internal::Type::Enum - - CONDITIONAL_BLOCK = :CONDITIONAL_BLOCK - VELOCITY_LIMIT = :VELOCITY_LIMIT - MERCHANT_LOCK = :MERCHANT_LOCK - CONDITIONAL_ACTION = :CONDITIONAL_ACTION - - # @!method self.values - # @return [Array] - end - end - end - end -end diff --git a/lib/lithic/models/auth_rules/v2_promote_response.rb b/lib/lithic/models/auth_rules/v2_promote_response.rb deleted file mode 100644 index 3d61bb7f..00000000 --- a/lib/lithic/models/auth_rules/v2_promote_response.rb +++ /dev/null @@ -1,280 +0,0 @@ -# frozen_string_literal: true - -module Lithic - module Models - module AuthRules - # @see Lithic::Resources::AuthRules::V2#promote - class V2PromoteResponse < Lithic::Internal::Type::BaseModel - # @!attribute token - # Auth Rule Token - # - # @return [String] - required :token, String - - # @!attribute account_tokens - # Account tokens to which the Auth Rule applies. - # - # @return [Array] - required :account_tokens, Lithic::Internal::Type::ArrayOf[String] - - # @!attribute business_account_tokens - # Business Account tokens to which the Auth Rule applies. - # - # @return [Array] - required :business_account_tokens, Lithic::Internal::Type::ArrayOf[String] - - # @!attribute card_tokens - # Card tokens to which the Auth Rule applies. - # - # @return [Array] - required :card_tokens, Lithic::Internal::Type::ArrayOf[String] - - # @!attribute current_version - # - # @return [Lithic::Models::AuthRules::V2PromoteResponse::CurrentVersion, nil] - required :current_version, -> { Lithic::Models::AuthRules::V2PromoteResponse::CurrentVersion }, nil?: true - - # @!attribute draft_version - # - # @return [Lithic::Models::AuthRules::V2PromoteResponse::DraftVersion, nil] - required :draft_version, -> { Lithic::Models::AuthRules::V2PromoteResponse::DraftVersion }, nil?: true - - # @!attribute event_stream - # The event stream during which the rule will be evaluated. - # - # @return [Symbol, Lithic::Models::AuthRules::V2PromoteResponse::EventStream] - required :event_stream, enum: -> { Lithic::Models::AuthRules::V2PromoteResponse::EventStream } - - # @!attribute lithic_managed - # Indicates whether this auth rule is managed by Lithic. If true, the rule cannot - # be modified or deleted by the user - # - # @return [Boolean] - required :lithic_managed, Lithic::Internal::Type::Boolean - - # @!attribute name - # Auth Rule Name - # - # @return [String, nil] - required :name, String, nil?: true - - # @!attribute program_level - # Whether the Auth Rule applies to all authorizations on the card program. - # - # @return [Boolean] - required :program_level, Lithic::Internal::Type::Boolean - - # @!attribute state - # The state of the Auth Rule - # - # @return [Symbol, Lithic::Models::AuthRules::V2PromoteResponse::State] - required :state, enum: -> { Lithic::Models::AuthRules::V2PromoteResponse::State } - - # @!attribute type - # The type of Auth Rule. For certain rule types, this determines the event stream - # during which it will be evaluated. For rules that can be applied to one of - # several event streams, the effective one is defined by the separate - # `event_stream` field. - # - # - `CONDITIONAL_BLOCK`: AUTHORIZATION event stream. - # - `VELOCITY_LIMIT`: AUTHORIZATION event stream. - # - `MERCHANT_LOCK`: AUTHORIZATION event stream. - # - `CONDITIONAL_ACTION`: AUTHORIZATION, THREE_DS_AUTHENTICATION, TOKENIZATION, - # ACH_CREDIT_RECEIPT, or ACH_DEBIT_RECEIPT event stream. - # - # @return [Symbol, Lithic::Models::AuthRules::V2PromoteResponse::Type] - required :type, enum: -> { Lithic::Models::AuthRules::V2PromoteResponse::Type } - - # @!attribute excluded_card_tokens - # Card tokens to which the Auth Rule does not apply. - # - # @return [Array, nil] - optional :excluded_card_tokens, Lithic::Internal::Type::ArrayOf[String] - - # @!method initialize(token:, account_tokens:, business_account_tokens:, card_tokens:, current_version:, draft_version:, event_stream:, lithic_managed:, name:, program_level:, state:, type:, excluded_card_tokens: nil) - # Some parameter documentations has been truncated, see - # {Lithic::Models::AuthRules::V2PromoteResponse} for more details. - # - # @param token [String] Auth Rule Token - # - # @param account_tokens [Array] Account tokens to which the Auth Rule applies. - # - # @param business_account_tokens [Array] Business Account tokens to which the Auth Rule applies. - # - # @param card_tokens [Array] Card tokens to which the Auth Rule applies. - # - # @param current_version [Lithic::Models::AuthRules::V2PromoteResponse::CurrentVersion, nil] - # - # @param draft_version [Lithic::Models::AuthRules::V2PromoteResponse::DraftVersion, nil] - # - # @param event_stream [Symbol, Lithic::Models::AuthRules::V2PromoteResponse::EventStream] The event stream during which the rule will be evaluated. - # - # @param lithic_managed [Boolean] Indicates whether this auth rule is managed by Lithic. If true, the rule cannot - # - # @param name [String, nil] Auth Rule Name - # - # @param program_level [Boolean] Whether the Auth Rule applies to all authorizations on the card program. - # - # @param state [Symbol, Lithic::Models::AuthRules::V2PromoteResponse::State] The state of the Auth Rule - # - # @param type [Symbol, Lithic::Models::AuthRules::V2PromoteResponse::Type] The type of Auth Rule. For certain rule types, this determines the event stream - # - # @param excluded_card_tokens [Array] Card tokens to which the Auth Rule does not apply. - - # @see Lithic::Models::AuthRules::V2PromoteResponse#current_version - class CurrentVersion < Lithic::Internal::Type::BaseModel - # @!attribute parameters - # Parameters for the Auth Rule - # - # @return [Lithic::Models::AuthRules::ConditionalBlockParameters, Lithic::Models::AuthRules::VelocityLimitParams, Lithic::Models::AuthRules::MerchantLockParameters, Lithic::Models::AuthRules::Conditional3DSActionParameters, Lithic::Models::AuthRules::ConditionalAuthorizationActionParameters, Lithic::Models::AuthRules::ConditionalACHActionParameters, Lithic::Models::AuthRules::ConditionalTokenizationActionParameters] - required :parameters, - union: -> { Lithic::Models::AuthRules::V2PromoteResponse::CurrentVersion::Parameters } - - response_only do - # @!attribute version - # The version of the rule, this is incremented whenever the rule's parameters - # change. - # - # @return [Integer] - required :version, Integer - end - - # @!method initialize(parameters:, version:) - # Some parameter documentations has been truncated, see - # {Lithic::Models::AuthRules::V2PromoteResponse::CurrentVersion} for more details. - # - # @param parameters [Lithic::Models::AuthRules::ConditionalBlockParameters, Lithic::Models::AuthRules::VelocityLimitParams, Lithic::Models::AuthRules::MerchantLockParameters, Lithic::Models::AuthRules::Conditional3DSActionParameters, Lithic::Models::AuthRules::ConditionalAuthorizationActionParameters, Lithic::Models::AuthRules::ConditionalACHActionParameters, Lithic::Models::AuthRules::ConditionalTokenizationActionParameters] Parameters for the Auth Rule - # - # @param version [Integer] The version of the rule, this is incremented whenever the rule's parameters chan - - # Parameters for the Auth Rule - # - # @see Lithic::Models::AuthRules::V2PromoteResponse::CurrentVersion#parameters - module Parameters - extend Lithic::Internal::Type::Union - - variant -> { Lithic::AuthRules::ConditionalBlockParameters } - - variant -> { Lithic::AuthRules::VelocityLimitParams } - - variant -> { Lithic::AuthRules::MerchantLockParameters } - - variant -> { Lithic::AuthRules::Conditional3DSActionParameters } - - variant -> { Lithic::AuthRules::ConditionalAuthorizationActionParameters } - - variant -> { Lithic::AuthRules::ConditionalACHActionParameters } - - variant -> { Lithic::AuthRules::ConditionalTokenizationActionParameters } - - # @!method self.variants - # @return [Array(Lithic::Models::AuthRules::ConditionalBlockParameters, Lithic::Models::AuthRules::VelocityLimitParams, Lithic::Models::AuthRules::MerchantLockParameters, Lithic::Models::AuthRules::Conditional3DSActionParameters, Lithic::Models::AuthRules::ConditionalAuthorizationActionParameters, Lithic::Models::AuthRules::ConditionalACHActionParameters, Lithic::Models::AuthRules::ConditionalTokenizationActionParameters)] - end - end - - # @see Lithic::Models::AuthRules::V2PromoteResponse#draft_version - class DraftVersion < Lithic::Internal::Type::BaseModel - # @!attribute parameters - # Parameters for the Auth Rule - # - # @return [Lithic::Models::AuthRules::ConditionalBlockParameters, Lithic::Models::AuthRules::VelocityLimitParams, Lithic::Models::AuthRules::MerchantLockParameters, Lithic::Models::AuthRules::Conditional3DSActionParameters, Lithic::Models::AuthRules::ConditionalAuthorizationActionParameters, Lithic::Models::AuthRules::ConditionalACHActionParameters, Lithic::Models::AuthRules::ConditionalTokenizationActionParameters] - required :parameters, union: -> { Lithic::Models::AuthRules::V2PromoteResponse::DraftVersion::Parameters } - - response_only do - # @!attribute version - # The version of the rule, this is incremented whenever the rule's parameters - # change. - # - # @return [Integer] - required :version, Integer - end - - # @!method initialize(parameters:, version:) - # Some parameter documentations has been truncated, see - # {Lithic::Models::AuthRules::V2PromoteResponse::DraftVersion} for more details. - # - # @param parameters [Lithic::Models::AuthRules::ConditionalBlockParameters, Lithic::Models::AuthRules::VelocityLimitParams, Lithic::Models::AuthRules::MerchantLockParameters, Lithic::Models::AuthRules::Conditional3DSActionParameters, Lithic::Models::AuthRules::ConditionalAuthorizationActionParameters, Lithic::Models::AuthRules::ConditionalACHActionParameters, Lithic::Models::AuthRules::ConditionalTokenizationActionParameters] Parameters for the Auth Rule - # - # @param version [Integer] The version of the rule, this is incremented whenever the rule's parameters chan - - # Parameters for the Auth Rule - # - # @see Lithic::Models::AuthRules::V2PromoteResponse::DraftVersion#parameters - module Parameters - extend Lithic::Internal::Type::Union - - variant -> { Lithic::AuthRules::ConditionalBlockParameters } - - variant -> { Lithic::AuthRules::VelocityLimitParams } - - variant -> { Lithic::AuthRules::MerchantLockParameters } - - variant -> { Lithic::AuthRules::Conditional3DSActionParameters } - - variant -> { Lithic::AuthRules::ConditionalAuthorizationActionParameters } - - variant -> { Lithic::AuthRules::ConditionalACHActionParameters } - - variant -> { Lithic::AuthRules::ConditionalTokenizationActionParameters } - - # @!method self.variants - # @return [Array(Lithic::Models::AuthRules::ConditionalBlockParameters, Lithic::Models::AuthRules::VelocityLimitParams, Lithic::Models::AuthRules::MerchantLockParameters, Lithic::Models::AuthRules::Conditional3DSActionParameters, Lithic::Models::AuthRules::ConditionalAuthorizationActionParameters, Lithic::Models::AuthRules::ConditionalACHActionParameters, Lithic::Models::AuthRules::ConditionalTokenizationActionParameters)] - end - end - - # The event stream during which the rule will be evaluated. - # - # @see Lithic::Models::AuthRules::V2PromoteResponse#event_stream - module EventStream - extend Lithic::Internal::Type::Enum - - AUTHORIZATION = :AUTHORIZATION - THREE_DS_AUTHENTICATION = :THREE_DS_AUTHENTICATION - TOKENIZATION = :TOKENIZATION - ACH_CREDIT_RECEIPT = :ACH_CREDIT_RECEIPT - ACH_DEBIT_RECEIPT = :ACH_DEBIT_RECEIPT - - # @!method self.values - # @return [Array] - end - - # The state of the Auth Rule - # - # @see Lithic::Models::AuthRules::V2PromoteResponse#state - module State - extend Lithic::Internal::Type::Enum - - ACTIVE = :ACTIVE - INACTIVE = :INACTIVE - - # @!method self.values - # @return [Array] - end - - # The type of Auth Rule. For certain rule types, this determines the event stream - # during which it will be evaluated. For rules that can be applied to one of - # several event streams, the effective one is defined by the separate - # `event_stream` field. - # - # - `CONDITIONAL_BLOCK`: AUTHORIZATION event stream. - # - `VELOCITY_LIMIT`: AUTHORIZATION event stream. - # - `MERCHANT_LOCK`: AUTHORIZATION event stream. - # - `CONDITIONAL_ACTION`: AUTHORIZATION, THREE_DS_AUTHENTICATION, TOKENIZATION, - # ACH_CREDIT_RECEIPT, or ACH_DEBIT_RECEIPT event stream. - # - # @see Lithic::Models::AuthRules::V2PromoteResponse#type - module Type - extend Lithic::Internal::Type::Enum - - CONDITIONAL_BLOCK = :CONDITIONAL_BLOCK - VELOCITY_LIMIT = :VELOCITY_LIMIT - MERCHANT_LOCK = :MERCHANT_LOCK - CONDITIONAL_ACTION = :CONDITIONAL_ACTION - - # @!method self.values - # @return [Array] - end - end - end - end -end diff --git a/lib/lithic/models/auth_rules/v2_retrieve_response.rb b/lib/lithic/models/auth_rules/v2_retrieve_response.rb deleted file mode 100644 index 065eee00..00000000 --- a/lib/lithic/models/auth_rules/v2_retrieve_response.rb +++ /dev/null @@ -1,284 +0,0 @@ -# frozen_string_literal: true - -module Lithic - module Models - module AuthRules - # @see Lithic::Resources::AuthRules::V2#retrieve - class V2RetrieveResponse < Lithic::Internal::Type::BaseModel - # @!attribute token - # Auth Rule Token - # - # @return [String] - required :token, String - - # @!attribute account_tokens - # Account tokens to which the Auth Rule applies. - # - # @return [Array] - required :account_tokens, Lithic::Internal::Type::ArrayOf[String] - - # @!attribute business_account_tokens - # Business Account tokens to which the Auth Rule applies. - # - # @return [Array] - required :business_account_tokens, Lithic::Internal::Type::ArrayOf[String] - - # @!attribute card_tokens - # Card tokens to which the Auth Rule applies. - # - # @return [Array] - required :card_tokens, Lithic::Internal::Type::ArrayOf[String] - - # @!attribute current_version - # - # @return [Lithic::Models::AuthRules::V2RetrieveResponse::CurrentVersion, nil] - required :current_version, - -> { Lithic::Models::AuthRules::V2RetrieveResponse::CurrentVersion }, - nil?: true - - # @!attribute draft_version - # - # @return [Lithic::Models::AuthRules::V2RetrieveResponse::DraftVersion, nil] - required :draft_version, -> { Lithic::Models::AuthRules::V2RetrieveResponse::DraftVersion }, nil?: true - - # @!attribute event_stream - # The event stream during which the rule will be evaluated. - # - # @return [Symbol, Lithic::Models::AuthRules::V2RetrieveResponse::EventStream] - required :event_stream, enum: -> { Lithic::Models::AuthRules::V2RetrieveResponse::EventStream } - - # @!attribute lithic_managed - # Indicates whether this auth rule is managed by Lithic. If true, the rule cannot - # be modified or deleted by the user - # - # @return [Boolean] - required :lithic_managed, Lithic::Internal::Type::Boolean - - # @!attribute name - # Auth Rule Name - # - # @return [String, nil] - required :name, String, nil?: true - - # @!attribute program_level - # Whether the Auth Rule applies to all authorizations on the card program. - # - # @return [Boolean] - required :program_level, Lithic::Internal::Type::Boolean - - # @!attribute state - # The state of the Auth Rule - # - # @return [Symbol, Lithic::Models::AuthRules::V2RetrieveResponse::State] - required :state, enum: -> { Lithic::Models::AuthRules::V2RetrieveResponse::State } - - # @!attribute type - # The type of Auth Rule. For certain rule types, this determines the event stream - # during which it will be evaluated. For rules that can be applied to one of - # several event streams, the effective one is defined by the separate - # `event_stream` field. - # - # - `CONDITIONAL_BLOCK`: AUTHORIZATION event stream. - # - `VELOCITY_LIMIT`: AUTHORIZATION event stream. - # - `MERCHANT_LOCK`: AUTHORIZATION event stream. - # - `CONDITIONAL_ACTION`: AUTHORIZATION, THREE_DS_AUTHENTICATION, TOKENIZATION, - # ACH_CREDIT_RECEIPT, or ACH_DEBIT_RECEIPT event stream. - # - # @return [Symbol, Lithic::Models::AuthRules::V2RetrieveResponse::Type] - required :type, enum: -> { Lithic::Models::AuthRules::V2RetrieveResponse::Type } - - # @!attribute excluded_card_tokens - # Card tokens to which the Auth Rule does not apply. - # - # @return [Array, nil] - optional :excluded_card_tokens, Lithic::Internal::Type::ArrayOf[String] - - # @!method initialize(token:, account_tokens:, business_account_tokens:, card_tokens:, current_version:, draft_version:, event_stream:, lithic_managed:, name:, program_level:, state:, type:, excluded_card_tokens: nil) - # Some parameter documentations has been truncated, see - # {Lithic::Models::AuthRules::V2RetrieveResponse} for more details. - # - # @param token [String] Auth Rule Token - # - # @param account_tokens [Array] Account tokens to which the Auth Rule applies. - # - # @param business_account_tokens [Array] Business Account tokens to which the Auth Rule applies. - # - # @param card_tokens [Array] Card tokens to which the Auth Rule applies. - # - # @param current_version [Lithic::Models::AuthRules::V2RetrieveResponse::CurrentVersion, nil] - # - # @param draft_version [Lithic::Models::AuthRules::V2RetrieveResponse::DraftVersion, nil] - # - # @param event_stream [Symbol, Lithic::Models::AuthRules::V2RetrieveResponse::EventStream] The event stream during which the rule will be evaluated. - # - # @param lithic_managed [Boolean] Indicates whether this auth rule is managed by Lithic. If true, the rule cannot - # - # @param name [String, nil] Auth Rule Name - # - # @param program_level [Boolean] Whether the Auth Rule applies to all authorizations on the card program. - # - # @param state [Symbol, Lithic::Models::AuthRules::V2RetrieveResponse::State] The state of the Auth Rule - # - # @param type [Symbol, Lithic::Models::AuthRules::V2RetrieveResponse::Type] The type of Auth Rule. For certain rule types, this determines the event stream - # - # @param excluded_card_tokens [Array] Card tokens to which the Auth Rule does not apply. - - # @see Lithic::Models::AuthRules::V2RetrieveResponse#current_version - class CurrentVersion < Lithic::Internal::Type::BaseModel - # @!attribute parameters - # Parameters for the Auth Rule - # - # @return [Lithic::Models::AuthRules::ConditionalBlockParameters, Lithic::Models::AuthRules::VelocityLimitParams, Lithic::Models::AuthRules::MerchantLockParameters, Lithic::Models::AuthRules::Conditional3DSActionParameters, Lithic::Models::AuthRules::ConditionalAuthorizationActionParameters, Lithic::Models::AuthRules::ConditionalACHActionParameters, Lithic::Models::AuthRules::ConditionalTokenizationActionParameters] - required :parameters, - union: -> { Lithic::Models::AuthRules::V2RetrieveResponse::CurrentVersion::Parameters } - - response_only do - # @!attribute version - # The version of the rule, this is incremented whenever the rule's parameters - # change. - # - # @return [Integer] - required :version, Integer - end - - # @!method initialize(parameters:, version:) - # Some parameter documentations has been truncated, see - # {Lithic::Models::AuthRules::V2RetrieveResponse::CurrentVersion} for more - # details. - # - # @param parameters [Lithic::Models::AuthRules::ConditionalBlockParameters, Lithic::Models::AuthRules::VelocityLimitParams, Lithic::Models::AuthRules::MerchantLockParameters, Lithic::Models::AuthRules::Conditional3DSActionParameters, Lithic::Models::AuthRules::ConditionalAuthorizationActionParameters, Lithic::Models::AuthRules::ConditionalACHActionParameters, Lithic::Models::AuthRules::ConditionalTokenizationActionParameters] Parameters for the Auth Rule - # - # @param version [Integer] The version of the rule, this is incremented whenever the rule's parameters chan - - # Parameters for the Auth Rule - # - # @see Lithic::Models::AuthRules::V2RetrieveResponse::CurrentVersion#parameters - module Parameters - extend Lithic::Internal::Type::Union - - variant -> { Lithic::AuthRules::ConditionalBlockParameters } - - variant -> { Lithic::AuthRules::VelocityLimitParams } - - variant -> { Lithic::AuthRules::MerchantLockParameters } - - variant -> { Lithic::AuthRules::Conditional3DSActionParameters } - - variant -> { Lithic::AuthRules::ConditionalAuthorizationActionParameters } - - variant -> { Lithic::AuthRules::ConditionalACHActionParameters } - - variant -> { Lithic::AuthRules::ConditionalTokenizationActionParameters } - - # @!method self.variants - # @return [Array(Lithic::Models::AuthRules::ConditionalBlockParameters, Lithic::Models::AuthRules::VelocityLimitParams, Lithic::Models::AuthRules::MerchantLockParameters, Lithic::Models::AuthRules::Conditional3DSActionParameters, Lithic::Models::AuthRules::ConditionalAuthorizationActionParameters, Lithic::Models::AuthRules::ConditionalACHActionParameters, Lithic::Models::AuthRules::ConditionalTokenizationActionParameters)] - end - end - - # @see Lithic::Models::AuthRules::V2RetrieveResponse#draft_version - class DraftVersion < Lithic::Internal::Type::BaseModel - # @!attribute parameters - # Parameters for the Auth Rule - # - # @return [Lithic::Models::AuthRules::ConditionalBlockParameters, Lithic::Models::AuthRules::VelocityLimitParams, Lithic::Models::AuthRules::MerchantLockParameters, Lithic::Models::AuthRules::Conditional3DSActionParameters, Lithic::Models::AuthRules::ConditionalAuthorizationActionParameters, Lithic::Models::AuthRules::ConditionalACHActionParameters, Lithic::Models::AuthRules::ConditionalTokenizationActionParameters] - required :parameters, - union: -> { Lithic::Models::AuthRules::V2RetrieveResponse::DraftVersion::Parameters } - - response_only do - # @!attribute version - # The version of the rule, this is incremented whenever the rule's parameters - # change. - # - # @return [Integer] - required :version, Integer - end - - # @!method initialize(parameters:, version:) - # Some parameter documentations has been truncated, see - # {Lithic::Models::AuthRules::V2RetrieveResponse::DraftVersion} for more details. - # - # @param parameters [Lithic::Models::AuthRules::ConditionalBlockParameters, Lithic::Models::AuthRules::VelocityLimitParams, Lithic::Models::AuthRules::MerchantLockParameters, Lithic::Models::AuthRules::Conditional3DSActionParameters, Lithic::Models::AuthRules::ConditionalAuthorizationActionParameters, Lithic::Models::AuthRules::ConditionalACHActionParameters, Lithic::Models::AuthRules::ConditionalTokenizationActionParameters] Parameters for the Auth Rule - # - # @param version [Integer] The version of the rule, this is incremented whenever the rule's parameters chan - - # Parameters for the Auth Rule - # - # @see Lithic::Models::AuthRules::V2RetrieveResponse::DraftVersion#parameters - module Parameters - extend Lithic::Internal::Type::Union - - variant -> { Lithic::AuthRules::ConditionalBlockParameters } - - variant -> { Lithic::AuthRules::VelocityLimitParams } - - variant -> { Lithic::AuthRules::MerchantLockParameters } - - variant -> { Lithic::AuthRules::Conditional3DSActionParameters } - - variant -> { Lithic::AuthRules::ConditionalAuthorizationActionParameters } - - variant -> { Lithic::AuthRules::ConditionalACHActionParameters } - - variant -> { Lithic::AuthRules::ConditionalTokenizationActionParameters } - - # @!method self.variants - # @return [Array(Lithic::Models::AuthRules::ConditionalBlockParameters, Lithic::Models::AuthRules::VelocityLimitParams, Lithic::Models::AuthRules::MerchantLockParameters, Lithic::Models::AuthRules::Conditional3DSActionParameters, Lithic::Models::AuthRules::ConditionalAuthorizationActionParameters, Lithic::Models::AuthRules::ConditionalACHActionParameters, Lithic::Models::AuthRules::ConditionalTokenizationActionParameters)] - end - end - - # The event stream during which the rule will be evaluated. - # - # @see Lithic::Models::AuthRules::V2RetrieveResponse#event_stream - module EventStream - extend Lithic::Internal::Type::Enum - - AUTHORIZATION = :AUTHORIZATION - THREE_DS_AUTHENTICATION = :THREE_DS_AUTHENTICATION - TOKENIZATION = :TOKENIZATION - ACH_CREDIT_RECEIPT = :ACH_CREDIT_RECEIPT - ACH_DEBIT_RECEIPT = :ACH_DEBIT_RECEIPT - - # @!method self.values - # @return [Array] - end - - # The state of the Auth Rule - # - # @see Lithic::Models::AuthRules::V2RetrieveResponse#state - module State - extend Lithic::Internal::Type::Enum - - ACTIVE = :ACTIVE - INACTIVE = :INACTIVE - - # @!method self.values - # @return [Array] - end - - # The type of Auth Rule. For certain rule types, this determines the event stream - # during which it will be evaluated. For rules that can be applied to one of - # several event streams, the effective one is defined by the separate - # `event_stream` field. - # - # - `CONDITIONAL_BLOCK`: AUTHORIZATION event stream. - # - `VELOCITY_LIMIT`: AUTHORIZATION event stream. - # - `MERCHANT_LOCK`: AUTHORIZATION event stream. - # - `CONDITIONAL_ACTION`: AUTHORIZATION, THREE_DS_AUTHENTICATION, TOKENIZATION, - # ACH_CREDIT_RECEIPT, or ACH_DEBIT_RECEIPT event stream. - # - # @see Lithic::Models::AuthRules::V2RetrieveResponse#type - module Type - extend Lithic::Internal::Type::Enum - - CONDITIONAL_BLOCK = :CONDITIONAL_BLOCK - VELOCITY_LIMIT = :VELOCITY_LIMIT - MERCHANT_LOCK = :MERCHANT_LOCK - CONDITIONAL_ACTION = :CONDITIONAL_ACTION - - # @!method self.values - # @return [Array] - end - end - end - end -end diff --git a/lib/lithic/models/auth_rules/v2_update_response.rb b/lib/lithic/models/auth_rules/v2_update_response.rb deleted file mode 100644 index 6362b2cc..00000000 --- a/lib/lithic/models/auth_rules/v2_update_response.rb +++ /dev/null @@ -1,280 +0,0 @@ -# frozen_string_literal: true - -module Lithic - module Models - module AuthRules - # @see Lithic::Resources::AuthRules::V2#update - class V2UpdateResponse < Lithic::Internal::Type::BaseModel - # @!attribute token - # Auth Rule Token - # - # @return [String] - required :token, String - - # @!attribute account_tokens - # Account tokens to which the Auth Rule applies. - # - # @return [Array] - required :account_tokens, Lithic::Internal::Type::ArrayOf[String] - - # @!attribute business_account_tokens - # Business Account tokens to which the Auth Rule applies. - # - # @return [Array] - required :business_account_tokens, Lithic::Internal::Type::ArrayOf[String] - - # @!attribute card_tokens - # Card tokens to which the Auth Rule applies. - # - # @return [Array] - required :card_tokens, Lithic::Internal::Type::ArrayOf[String] - - # @!attribute current_version - # - # @return [Lithic::Models::AuthRules::V2UpdateResponse::CurrentVersion, nil] - required :current_version, -> { Lithic::Models::AuthRules::V2UpdateResponse::CurrentVersion }, nil?: true - - # @!attribute draft_version - # - # @return [Lithic::Models::AuthRules::V2UpdateResponse::DraftVersion, nil] - required :draft_version, -> { Lithic::Models::AuthRules::V2UpdateResponse::DraftVersion }, nil?: true - - # @!attribute event_stream - # The event stream during which the rule will be evaluated. - # - # @return [Symbol, Lithic::Models::AuthRules::V2UpdateResponse::EventStream] - required :event_stream, enum: -> { Lithic::Models::AuthRules::V2UpdateResponse::EventStream } - - # @!attribute lithic_managed - # Indicates whether this auth rule is managed by Lithic. If true, the rule cannot - # be modified or deleted by the user - # - # @return [Boolean] - required :lithic_managed, Lithic::Internal::Type::Boolean - - # @!attribute name - # Auth Rule Name - # - # @return [String, nil] - required :name, String, nil?: true - - # @!attribute program_level - # Whether the Auth Rule applies to all authorizations on the card program. - # - # @return [Boolean] - required :program_level, Lithic::Internal::Type::Boolean - - # @!attribute state - # The state of the Auth Rule - # - # @return [Symbol, Lithic::Models::AuthRules::V2UpdateResponse::State] - required :state, enum: -> { Lithic::Models::AuthRules::V2UpdateResponse::State } - - # @!attribute type - # The type of Auth Rule. For certain rule types, this determines the event stream - # during which it will be evaluated. For rules that can be applied to one of - # several event streams, the effective one is defined by the separate - # `event_stream` field. - # - # - `CONDITIONAL_BLOCK`: AUTHORIZATION event stream. - # - `VELOCITY_LIMIT`: AUTHORIZATION event stream. - # - `MERCHANT_LOCK`: AUTHORIZATION event stream. - # - `CONDITIONAL_ACTION`: AUTHORIZATION, THREE_DS_AUTHENTICATION, TOKENIZATION, - # ACH_CREDIT_RECEIPT, or ACH_DEBIT_RECEIPT event stream. - # - # @return [Symbol, Lithic::Models::AuthRules::V2UpdateResponse::Type] - required :type, enum: -> { Lithic::Models::AuthRules::V2UpdateResponse::Type } - - # @!attribute excluded_card_tokens - # Card tokens to which the Auth Rule does not apply. - # - # @return [Array, nil] - optional :excluded_card_tokens, Lithic::Internal::Type::ArrayOf[String] - - # @!method initialize(token:, account_tokens:, business_account_tokens:, card_tokens:, current_version:, draft_version:, event_stream:, lithic_managed:, name:, program_level:, state:, type:, excluded_card_tokens: nil) - # Some parameter documentations has been truncated, see - # {Lithic::Models::AuthRules::V2UpdateResponse} for more details. - # - # @param token [String] Auth Rule Token - # - # @param account_tokens [Array] Account tokens to which the Auth Rule applies. - # - # @param business_account_tokens [Array] Business Account tokens to which the Auth Rule applies. - # - # @param card_tokens [Array] Card tokens to which the Auth Rule applies. - # - # @param current_version [Lithic::Models::AuthRules::V2UpdateResponse::CurrentVersion, nil] - # - # @param draft_version [Lithic::Models::AuthRules::V2UpdateResponse::DraftVersion, nil] - # - # @param event_stream [Symbol, Lithic::Models::AuthRules::V2UpdateResponse::EventStream] The event stream during which the rule will be evaluated. - # - # @param lithic_managed [Boolean] Indicates whether this auth rule is managed by Lithic. If true, the rule cannot - # - # @param name [String, nil] Auth Rule Name - # - # @param program_level [Boolean] Whether the Auth Rule applies to all authorizations on the card program. - # - # @param state [Symbol, Lithic::Models::AuthRules::V2UpdateResponse::State] The state of the Auth Rule - # - # @param type [Symbol, Lithic::Models::AuthRules::V2UpdateResponse::Type] The type of Auth Rule. For certain rule types, this determines the event stream - # - # @param excluded_card_tokens [Array] Card tokens to which the Auth Rule does not apply. - - # @see Lithic::Models::AuthRules::V2UpdateResponse#current_version - class CurrentVersion < Lithic::Internal::Type::BaseModel - # @!attribute parameters - # Parameters for the Auth Rule - # - # @return [Lithic::Models::AuthRules::ConditionalBlockParameters, Lithic::Models::AuthRules::VelocityLimitParams, Lithic::Models::AuthRules::MerchantLockParameters, Lithic::Models::AuthRules::Conditional3DSActionParameters, Lithic::Models::AuthRules::ConditionalAuthorizationActionParameters, Lithic::Models::AuthRules::ConditionalACHActionParameters, Lithic::Models::AuthRules::ConditionalTokenizationActionParameters] - required :parameters, - union: -> { Lithic::Models::AuthRules::V2UpdateResponse::CurrentVersion::Parameters } - - response_only do - # @!attribute version - # The version of the rule, this is incremented whenever the rule's parameters - # change. - # - # @return [Integer] - required :version, Integer - end - - # @!method initialize(parameters:, version:) - # Some parameter documentations has been truncated, see - # {Lithic::Models::AuthRules::V2UpdateResponse::CurrentVersion} for more details. - # - # @param parameters [Lithic::Models::AuthRules::ConditionalBlockParameters, Lithic::Models::AuthRules::VelocityLimitParams, Lithic::Models::AuthRules::MerchantLockParameters, Lithic::Models::AuthRules::Conditional3DSActionParameters, Lithic::Models::AuthRules::ConditionalAuthorizationActionParameters, Lithic::Models::AuthRules::ConditionalACHActionParameters, Lithic::Models::AuthRules::ConditionalTokenizationActionParameters] Parameters for the Auth Rule - # - # @param version [Integer] The version of the rule, this is incremented whenever the rule's parameters chan - - # Parameters for the Auth Rule - # - # @see Lithic::Models::AuthRules::V2UpdateResponse::CurrentVersion#parameters - module Parameters - extend Lithic::Internal::Type::Union - - variant -> { Lithic::AuthRules::ConditionalBlockParameters } - - variant -> { Lithic::AuthRules::VelocityLimitParams } - - variant -> { Lithic::AuthRules::MerchantLockParameters } - - variant -> { Lithic::AuthRules::Conditional3DSActionParameters } - - variant -> { Lithic::AuthRules::ConditionalAuthorizationActionParameters } - - variant -> { Lithic::AuthRules::ConditionalACHActionParameters } - - variant -> { Lithic::AuthRules::ConditionalTokenizationActionParameters } - - # @!method self.variants - # @return [Array(Lithic::Models::AuthRules::ConditionalBlockParameters, Lithic::Models::AuthRules::VelocityLimitParams, Lithic::Models::AuthRules::MerchantLockParameters, Lithic::Models::AuthRules::Conditional3DSActionParameters, Lithic::Models::AuthRules::ConditionalAuthorizationActionParameters, Lithic::Models::AuthRules::ConditionalACHActionParameters, Lithic::Models::AuthRules::ConditionalTokenizationActionParameters)] - end - end - - # @see Lithic::Models::AuthRules::V2UpdateResponse#draft_version - class DraftVersion < Lithic::Internal::Type::BaseModel - # @!attribute parameters - # Parameters for the Auth Rule - # - # @return [Lithic::Models::AuthRules::ConditionalBlockParameters, Lithic::Models::AuthRules::VelocityLimitParams, Lithic::Models::AuthRules::MerchantLockParameters, Lithic::Models::AuthRules::Conditional3DSActionParameters, Lithic::Models::AuthRules::ConditionalAuthorizationActionParameters, Lithic::Models::AuthRules::ConditionalACHActionParameters, Lithic::Models::AuthRules::ConditionalTokenizationActionParameters] - required :parameters, union: -> { Lithic::Models::AuthRules::V2UpdateResponse::DraftVersion::Parameters } - - response_only do - # @!attribute version - # The version of the rule, this is incremented whenever the rule's parameters - # change. - # - # @return [Integer] - required :version, Integer - end - - # @!method initialize(parameters:, version:) - # Some parameter documentations has been truncated, see - # {Lithic::Models::AuthRules::V2UpdateResponse::DraftVersion} for more details. - # - # @param parameters [Lithic::Models::AuthRules::ConditionalBlockParameters, Lithic::Models::AuthRules::VelocityLimitParams, Lithic::Models::AuthRules::MerchantLockParameters, Lithic::Models::AuthRules::Conditional3DSActionParameters, Lithic::Models::AuthRules::ConditionalAuthorizationActionParameters, Lithic::Models::AuthRules::ConditionalACHActionParameters, Lithic::Models::AuthRules::ConditionalTokenizationActionParameters] Parameters for the Auth Rule - # - # @param version [Integer] The version of the rule, this is incremented whenever the rule's parameters chan - - # Parameters for the Auth Rule - # - # @see Lithic::Models::AuthRules::V2UpdateResponse::DraftVersion#parameters - module Parameters - extend Lithic::Internal::Type::Union - - variant -> { Lithic::AuthRules::ConditionalBlockParameters } - - variant -> { Lithic::AuthRules::VelocityLimitParams } - - variant -> { Lithic::AuthRules::MerchantLockParameters } - - variant -> { Lithic::AuthRules::Conditional3DSActionParameters } - - variant -> { Lithic::AuthRules::ConditionalAuthorizationActionParameters } - - variant -> { Lithic::AuthRules::ConditionalACHActionParameters } - - variant -> { Lithic::AuthRules::ConditionalTokenizationActionParameters } - - # @!method self.variants - # @return [Array(Lithic::Models::AuthRules::ConditionalBlockParameters, Lithic::Models::AuthRules::VelocityLimitParams, Lithic::Models::AuthRules::MerchantLockParameters, Lithic::Models::AuthRules::Conditional3DSActionParameters, Lithic::Models::AuthRules::ConditionalAuthorizationActionParameters, Lithic::Models::AuthRules::ConditionalACHActionParameters, Lithic::Models::AuthRules::ConditionalTokenizationActionParameters)] - end - end - - # The event stream during which the rule will be evaluated. - # - # @see Lithic::Models::AuthRules::V2UpdateResponse#event_stream - module EventStream - extend Lithic::Internal::Type::Enum - - AUTHORIZATION = :AUTHORIZATION - THREE_DS_AUTHENTICATION = :THREE_DS_AUTHENTICATION - TOKENIZATION = :TOKENIZATION - ACH_CREDIT_RECEIPT = :ACH_CREDIT_RECEIPT - ACH_DEBIT_RECEIPT = :ACH_DEBIT_RECEIPT - - # @!method self.values - # @return [Array] - end - - # The state of the Auth Rule - # - # @see Lithic::Models::AuthRules::V2UpdateResponse#state - module State - extend Lithic::Internal::Type::Enum - - ACTIVE = :ACTIVE - INACTIVE = :INACTIVE - - # @!method self.values - # @return [Array] - end - - # The type of Auth Rule. For certain rule types, this determines the event stream - # during which it will be evaluated. For rules that can be applied to one of - # several event streams, the effective one is defined by the separate - # `event_stream` field. - # - # - `CONDITIONAL_BLOCK`: AUTHORIZATION event stream. - # - `VELOCITY_LIMIT`: AUTHORIZATION event stream. - # - `MERCHANT_LOCK`: AUTHORIZATION event stream. - # - `CONDITIONAL_ACTION`: AUTHORIZATION, THREE_DS_AUTHENTICATION, TOKENIZATION, - # ACH_CREDIT_RECEIPT, or ACH_DEBIT_RECEIPT event stream. - # - # @see Lithic::Models::AuthRules::V2UpdateResponse#type - module Type - extend Lithic::Internal::Type::Enum - - CONDITIONAL_BLOCK = :CONDITIONAL_BLOCK - VELOCITY_LIMIT = :VELOCITY_LIMIT - MERCHANT_LOCK = :MERCHANT_LOCK - CONDITIONAL_ACTION = :CONDITIONAL_ACTION - - # @!method self.values - # @return [Array] - end - end - end - end -end diff --git a/lib/lithic/models/card_bulk_order.rb b/lib/lithic/models/card_bulk_order.rb new file mode 100644 index 00000000..d8410e16 --- /dev/null +++ b/lib/lithic/models/card_bulk_order.rb @@ -0,0 +1,106 @@ +# frozen_string_literal: true + +module Lithic + module Models + # @see Lithic::Resources::CardBulkOrders#create + class CardBulkOrder < Lithic::Internal::Type::BaseModel + # @!attribute token + # Globally unique identifier for the bulk order + # + # @return [String] + required :token, String + + # @!attribute card_tokens + # List of card tokens associated with this bulk order + # + # @return [Array] + required :card_tokens, Lithic::Internal::Type::ArrayOf[String] + + # @!attribute created + # An RFC 3339 timestamp for when the bulk order was created. UTC time zone + # + # @return [Time] + required :created, Time + + # @!attribute customer_product_id + # Customer-specified product configuration for physical card manufacturing. This + # must be configured with Lithic before use + # + # @return [String, nil] + required :customer_product_id, String, nil?: true + + # @!attribute shipping_address + # Shipping address for all cards in this bulk order + # + # @return [Object] + required :shipping_address, Lithic::Internal::Type::Unknown + + # @!attribute shipping_method + # Shipping method for all cards in this bulk order + # + # @return [Symbol, Lithic::Models::CardBulkOrder::ShippingMethod] + required :shipping_method, enum: -> { Lithic::CardBulkOrder::ShippingMethod } + + # @!attribute status + # Status of the bulk order. OPEN indicates the order is accepting cards. LOCKED + # indicates the order is finalized and no more cards can be added + # + # @return [Symbol, Lithic::Models::CardBulkOrder::Status] + required :status, enum: -> { Lithic::CardBulkOrder::Status } + + # @!attribute updated + # An RFC 3339 timestamp for when the bulk order was last updated. UTC time zone + # + # @return [Time] + required :updated, Time + + # @!method initialize(token:, card_tokens:, created:, customer_product_id:, shipping_address:, shipping_method:, status:, updated:) + # Some parameter documentations has been truncated, see + # {Lithic::Models::CardBulkOrder} for more details. + # + # Represents a bulk order for physical card shipments + # + # @param token [String] Globally unique identifier for the bulk order + # + # @param card_tokens [Array] List of card tokens associated with this bulk order + # + # @param created [Time] An RFC 3339 timestamp for when the bulk order was created. UTC time zone + # + # @param customer_product_id [String, nil] Customer-specified product configuration for physical card manufacturing. This m + # + # @param shipping_address [Object] Shipping address for all cards in this bulk order + # + # @param shipping_method [Symbol, Lithic::Models::CardBulkOrder::ShippingMethod] Shipping method for all cards in this bulk order + # + # @param status [Symbol, Lithic::Models::CardBulkOrder::Status] Status of the bulk order. OPEN indicates the order is accepting cards. LOCKED in + # + # @param updated [Time] An RFC 3339 timestamp for when the bulk order was last updated. UTC time zone + + # Shipping method for all cards in this bulk order + # + # @see Lithic::Models::CardBulkOrder#shipping_method + module ShippingMethod + extend Lithic::Internal::Type::Enum + + BULK_EXPEDITED = :BULK_EXPEDITED + + # @!method self.values + # @return [Array] + end + + # Status of the bulk order. OPEN indicates the order is accepting cards. LOCKED + # indicates the order is finalized and no more cards can be added + # + # @see Lithic::Models::CardBulkOrder#status + module Status + extend Lithic::Internal::Type::Enum + + OPEN = :OPEN + LOCKED = :LOCKED + + # @!method self.values + # @return [Array] + end + end + end +end diff --git a/lib/lithic/models/card_bulk_order_create_params.rb b/lib/lithic/models/card_bulk_order_create_params.rb new file mode 100644 index 00000000..ae8ffb72 --- /dev/null +++ b/lib/lithic/models/card_bulk_order_create_params.rb @@ -0,0 +1,52 @@ +# frozen_string_literal: true + +module Lithic + module Models + # @see Lithic::Resources::CardBulkOrders#create + class CardBulkOrderCreateParams < Lithic::Internal::Type::BaseModel + extend Lithic::Internal::Type::RequestParameters::Converter + include Lithic::Internal::Type::RequestParameters + + # @!attribute customer_product_id + # Customer-specified product configuration for physical card manufacturing. This + # must be configured with Lithic before use + # + # @return [String] + required :customer_product_id, String + + # @!attribute shipping_address + # Shipping address for all cards in this bulk order + # + # @return [Object] + required :shipping_address, Lithic::Internal::Type::Unknown + + # @!attribute shipping_method + # Shipping method for all cards in this bulk order + # + # @return [Symbol, Lithic::Models::CardBulkOrderCreateParams::ShippingMethod] + required :shipping_method, enum: -> { Lithic::CardBulkOrderCreateParams::ShippingMethod } + + # @!method initialize(customer_product_id:, shipping_address:, shipping_method:, request_options: {}) + # Some parameter documentations has been truncated, see + # {Lithic::Models::CardBulkOrderCreateParams} for more details. + # + # @param customer_product_id [String] Customer-specified product configuration for physical card manufacturing. This m + # + # @param shipping_address [Object] Shipping address for all cards in this bulk order + # + # @param shipping_method [Symbol, Lithic::Models::CardBulkOrderCreateParams::ShippingMethod] Shipping method for all cards in this bulk order + # + # @param request_options [Lithic::RequestOptions, Hash{Symbol=>Object}] + + # Shipping method for all cards in this bulk order + module ShippingMethod + extend Lithic::Internal::Type::Enum + + BULK_EXPEDITED = :BULK_EXPEDITED + + # @!method self.values + # @return [Array] + end + end + end +end diff --git a/lib/lithic/models/card_bulk_order_list_params.rb b/lib/lithic/models/card_bulk_order_list_params.rb new file mode 100644 index 00000000..ef807c92 --- /dev/null +++ b/lib/lithic/models/card_bulk_order_list_params.rb @@ -0,0 +1,61 @@ +# frozen_string_literal: true + +module Lithic + module Models + # @see Lithic::Resources::CardBulkOrders#list + class CardBulkOrderListParams < Lithic::Internal::Type::BaseModel + extend Lithic::Internal::Type::RequestParameters::Converter + include Lithic::Internal::Type::RequestParameters + + # @!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 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 page_size + # Page size (for pagination). + # + # @return [Integer, nil] + optional :page_size, Integer + + # @!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 + + # @!method initialize(begin_: nil, end_: nil, ending_before: nil, page_size: nil, starting_after: nil, request_options: {}) + # Some parameter documentations has been truncated, see + # {Lithic::Models::CardBulkOrderListParams} for more details. + # + # @param begin_ [Time] Date string in RFC 3339 format. Only entries created after the specified time wi + # + # @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 page_size [Integer] Page size (for pagination). + # + # @param starting_after [String] A cursor representing an item's token after which a page of results should begin + # + # @param request_options [Lithic::RequestOptions, Hash{Symbol=>Object}] + end + end +end diff --git a/lib/lithic/models/card_bulk_order_retrieve_params.rb b/lib/lithic/models/card_bulk_order_retrieve_params.rb new file mode 100644 index 00000000..6ae632d1 --- /dev/null +++ b/lib/lithic/models/card_bulk_order_retrieve_params.rb @@ -0,0 +1,14 @@ +# frozen_string_literal: true + +module Lithic + module Models + # @see Lithic::Resources::CardBulkOrders#retrieve + class CardBulkOrderRetrieveParams < 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/card_bulk_order_update_params.rb b/lib/lithic/models/card_bulk_order_update_params.rb new file mode 100644 index 00000000..a0bdc3fd --- /dev/null +++ b/lib/lithic/models/card_bulk_order_update_params.rb @@ -0,0 +1,32 @@ +# frozen_string_literal: true + +module Lithic + module Models + # @see Lithic::Resources::CardBulkOrders#update + class CardBulkOrderUpdateParams < Lithic::Internal::Type::BaseModel + extend Lithic::Internal::Type::RequestParameters::Converter + include Lithic::Internal::Type::RequestParameters + + # @!attribute status + # Status to update the bulk order to. Use LOCKED to finalize the order + # + # @return [Symbol, Lithic::Models::CardBulkOrderUpdateParams::Status] + required :status, enum: -> { Lithic::CardBulkOrderUpdateParams::Status } + + # @!method initialize(status:, request_options: {}) + # @param status [Symbol, Lithic::Models::CardBulkOrderUpdateParams::Status] Status to update the bulk order to. Use LOCKED to finalize the order + # + # @param request_options [Lithic::RequestOptions, Hash{Symbol=>Object}] + + # Status to update the bulk order to. Use LOCKED to finalize the order + module Status + extend Lithic::Internal::Type::Enum + + LOCKED = :LOCKED + + # @!method self.values + # @return [Array] + end + end + end +end diff --git a/lib/lithic/models/card_convert_physical_params.rb b/lib/lithic/models/card_convert_physical_params.rb index f2ea06a3..91c608c8 100644 --- a/lib/lithic/models/card_convert_physical_params.rb +++ b/lib/lithic/models/card_convert_physical_params.rb @@ -42,6 +42,7 @@ class CardConvertPhysicalParams < Lithic::Internal::Type::BaseModel # tracking # - `EXPEDITED` - FedEx or UPS depending on card manufacturer, Standard Overnight # or similar international option, with tracking + # - `BULK_EXPEDITED` - Bulk shipment with Expedited shipping # # @return [Symbol, Lithic::Models::CardConvertPhysicalParams::ShippingMethod, nil] optional :shipping_method, enum: -> { Lithic::CardConvertPhysicalParams::ShippingMethod } @@ -74,10 +75,12 @@ class CardConvertPhysicalParams < Lithic::Internal::Type::BaseModel # tracking # - `EXPEDITED` - FedEx or UPS depending on card manufacturer, Standard Overnight # or similar international option, with tracking + # - `BULK_EXPEDITED` - Bulk shipment with Expedited shipping module ShippingMethod extend Lithic::Internal::Type::Enum SHIPPING_METHOD_2_DAY = :"2_DAY" + BULK_EXPEDITED = :BULK_EXPEDITED EXPEDITED = :EXPEDITED EXPRESS = :EXPRESS PRIORITY = :PRIORITY diff --git a/lib/lithic/models/card_create_params.rb b/lib/lithic/models/card_create_params.rb index c27d3d31..02866cdf 100644 --- a/lib/lithic/models/card_create_params.rb +++ b/lib/lithic/models/card_create_params.rb @@ -37,6 +37,14 @@ class CardCreateParams < Lithic::Internal::Type::BaseModel # @return [String, nil] optional :account_token, String + # @!attribute bulk_order_token + # Globally unique identifier for an existing bulk order to associate this card + # with. When specified, the card will be added to the bulk order for batch + # shipment. Only applicable to cards of type PHYSICAL + # + # @return [String, nil] + optional :bulk_order_token, String + # @!attribute card_program_token # For card programs with more than one BIN range. This must be configured with # Lithic before use. Identifies the card program/BIN range under which to create @@ -175,6 +183,7 @@ class CardCreateParams < Lithic::Internal::Type::BaseModel # tracking # - `EXPEDITED` - FedEx or UPS depending on card manufacturer, Standard Overnight # or similar international option, with tracking + # - `BULK_EXPEDITED` - Bulk shipment with Expedited shipping # # @return [Symbol, Lithic::Models::CardCreateParams::ShippingMethod, nil] optional :shipping_method, enum: -> { Lithic::CardCreateParams::ShippingMethod } @@ -217,7 +226,7 @@ class CardCreateParams < Lithic::Internal::Type::BaseModel # @return [Symbol, Lithic::Models::CardCreateParams::State, nil] optional :state, enum: -> { Lithic::CardCreateParams::State } - # @!method initialize(type:, account_token: nil, card_program_token: nil, carrier: nil, digital_card_art_token: nil, exp_month: nil, exp_year: nil, memo: nil, pin: nil, product_id: nil, replacement_account_token: nil, replacement_comment: nil, replacement_for: nil, replacement_substatus: nil, shipping_address: nil, shipping_method: nil, spend_limit: nil, spend_limit_duration: nil, state: nil, request_options: {}) + # @!method initialize(type:, account_token: nil, bulk_order_token: nil, card_program_token: nil, carrier: nil, digital_card_art_token: nil, exp_month: nil, exp_year: nil, memo: nil, pin: nil, product_id: nil, replacement_account_token: nil, replacement_comment: nil, replacement_for: nil, replacement_substatus: nil, shipping_address: nil, shipping_method: nil, spend_limit: nil, spend_limit_duration: nil, state: nil, request_options: {}) # Some parameter documentations has been truncated, see # {Lithic::Models::CardCreateParams} for more details. # @@ -225,6 +234,8 @@ class CardCreateParams < Lithic::Internal::Type::BaseModel # # @param account_token [String] Globally unique identifier for the account that the card will be associated with # + # @param bulk_order_token [String] Globally unique identifier for an existing bulk order to associate this card wit + # # @param card_program_token [String] For card programs with more than one BIN range. This must be configured with Lit # # @param carrier [Lithic::Models::Carrier] @@ -351,10 +362,12 @@ module ReplacementSubstatus # tracking # - `EXPEDITED` - FedEx or UPS depending on card manufacturer, Standard Overnight # or similar international option, with tracking + # - `BULK_EXPEDITED` - Bulk shipment with Expedited shipping module ShippingMethod extend Lithic::Internal::Type::Enum SHIPPING_METHOD_2_DAY = :"2_DAY" + BULK_EXPEDITED = :BULK_EXPEDITED EXPEDITED = :EXPEDITED EXPRESS = :EXPRESS PRIORITY = :PRIORITY diff --git a/lib/lithic/models/card_program.rb b/lib/lithic/models/card_program.rb index f6f296ee..df7a8d80 100644 --- a/lib/lithic/models/card_program.rb +++ b/lib/lithic/models/card_program.rb @@ -10,6 +10,13 @@ class CardProgram < Lithic::Internal::Type::BaseModel # @return [String] required :token, String + # @!attribute account_level_management_enabled + # Whether the card program is participating in Account Level Management. Currently + # applicable to Visa card programs only. + # + # @return [Boolean] + required :account_level_management_enabled, Lithic::Internal::Type::Boolean + # @!attribute created # Timestamp of when the card program was created. # @@ -34,13 +41,6 @@ class CardProgram < Lithic::Internal::Type::BaseModel # @return [String] required :pan_range_start, String - # @!attribute account_level_management_enabled - # Whether the card program is participating in Account Level Management. Currently - # applicable to Visa card programs only. - # - # @return [Boolean, nil] - optional :account_level_management_enabled, Lithic::Internal::Type::Boolean - # @!attribute cardholder_currency # 3-character alphabetic ISO 4217 code for the currency of the cardholder. # @@ -54,12 +54,14 @@ class CardProgram < Lithic::Internal::Type::BaseModel # @return [Array, nil] optional :settlement_currencies, Lithic::Internal::Type::ArrayOf[String] - # @!method initialize(token:, created:, name:, pan_range_end:, pan_range_start:, account_level_management_enabled: nil, cardholder_currency: nil, settlement_currencies: nil) + # @!method initialize(token:, account_level_management_enabled:, created:, name:, pan_range_end:, pan_range_start:, cardholder_currency: nil, settlement_currencies: nil) # Some parameter documentations has been truncated, see # {Lithic::Models::CardProgram} for more details. # # @param token [String] Globally unique identifier. # + # @param account_level_management_enabled [Boolean] Whether the card program is participating in Account Level Management. Currently + # # @param created [Time] Timestamp of when the card program was created. # # @param name [String] The name of the card program. @@ -68,8 +70,6 @@ class CardProgram < Lithic::Internal::Type::BaseModel # # @param pan_range_start [String] The first digits of the card number that this card program starts with. # - # @param account_level_management_enabled [Boolean] Whether the card program is participating in Account Level Management. Currently - # # @param cardholder_currency [String] 3-character alphabetic ISO 4217 code for the currency of the cardholder. # # @param settlement_currencies [Array] List of 3-character alphabetic ISO 4217 codes for the currencies that the card p diff --git a/lib/lithic/models/card_reissue_params.rb b/lib/lithic/models/card_reissue_params.rb index 62065234..15ba2323 100644 --- a/lib/lithic/models/card_reissue_params.rb +++ b/lib/lithic/models/card_reissue_params.rb @@ -42,6 +42,7 @@ class CardReissueParams < Lithic::Internal::Type::BaseModel # tracking # - `EXPEDITED` - FedEx or UPS depending on card manufacturer, Standard Overnight # or similar international option, with tracking + # - `BULK_EXPEDITED` - Bulk shipment with Expedited shipping # # @return [Symbol, Lithic::Models::CardReissueParams::ShippingMethod, nil] optional :shipping_method, enum: -> { Lithic::CardReissueParams::ShippingMethod } @@ -74,10 +75,12 @@ class CardReissueParams < Lithic::Internal::Type::BaseModel # tracking # - `EXPEDITED` - FedEx or UPS depending on card manufacturer, Standard Overnight # or similar international option, with tracking + # - `BULK_EXPEDITED` - Bulk shipment with Expedited shipping module ShippingMethod extend Lithic::Internal::Type::Enum SHIPPING_METHOD_2_DAY = :"2_DAY" + BULK_EXPEDITED = :BULK_EXPEDITED EXPEDITED = :EXPEDITED EXPRESS = :EXPRESS PRIORITY = :PRIORITY diff --git a/lib/lithic/models/card_renew_params.rb b/lib/lithic/models/card_renew_params.rb index 0f0582dc..e595ead3 100644 --- a/lib/lithic/models/card_renew_params.rb +++ b/lib/lithic/models/card_renew_params.rb @@ -56,6 +56,7 @@ class CardRenewParams < Lithic::Internal::Type::BaseModel # tracking # - `EXPEDITED` - FedEx or UPS depending on card manufacturer, Standard Overnight # or similar international option, with tracking + # - `BULK_EXPEDITED` - Bulk shipment with Expedited shipping # # @return [Symbol, Lithic::Models::CardRenewParams::ShippingMethod, nil] optional :shipping_method, enum: -> { Lithic::CardRenewParams::ShippingMethod } @@ -92,10 +93,12 @@ class CardRenewParams < Lithic::Internal::Type::BaseModel # tracking # - `EXPEDITED` - FedEx or UPS depending on card manufacturer, Standard Overnight # or similar international option, with tracking + # - `BULK_EXPEDITED` - Bulk shipment with Expedited shipping module ShippingMethod extend Lithic::Internal::Type::Enum SHIPPING_METHOD_2_DAY = :"2_DAY" + BULK_EXPEDITED = :BULK_EXPEDITED EXPEDITED = :EXPEDITED EXPRESS = :EXPRESS PRIORITY = :PRIORITY diff --git a/lib/lithic/models/card_web_provision_params.rb b/lib/lithic/models/card_web_provision_params.rb index 6efadffb..8d445336 100644 --- a/lib/lithic/models/card_web_provision_params.rb +++ b/lib/lithic/models/card_web_provision_params.rb @@ -7,15 +7,45 @@ class CardWebProvisionParams < Lithic::Internal::Type::BaseModel extend Lithic::Internal::Type::RequestParameters::Converter include Lithic::Internal::Type::RequestParameters + # @!attribute client_device_id + # Only applicable if `digital_wallet` is GOOGLE_PAY. Google Pay Web Push + # Provisioning device identifier required for the tokenization flow + # + # @return [String, nil] + optional :client_device_id, String + + # @!attribute client_wallet_account_id + # Only applicable if `digital_wallet` is GOOGLE_PAY. Google Pay Web Push + # Provisioning wallet account identifier required for the tokenization flow + # + # @return [String, nil] + optional :client_wallet_account_id, String + # @!attribute digital_wallet # Name of digital wallet provider. # # @return [Symbol, Lithic::Models::CardWebProvisionParams::DigitalWallet, nil] optional :digital_wallet, enum: -> { Lithic::CardWebProvisionParams::DigitalWallet } - # @!method initialize(digital_wallet: nil, request_options: {}) + # @!attribute server_session_id + # Only applicable if `digital_wallet` is GOOGLE_PAY. Google Pay Web Push + # Provisioning session identifier required for the FPAN flow. + # + # @return [String, nil] + optional :server_session_id, String + + # @!method initialize(client_device_id: nil, client_wallet_account_id: nil, digital_wallet: nil, server_session_id: nil, request_options: {}) + # Some parameter documentations has been truncated, see + # {Lithic::Models::CardWebProvisionParams} for more details. + # + # @param client_device_id [String] Only applicable if `digital_wallet` is GOOGLE_PAY. Google Pay Web Push Provision + # + # @param client_wallet_account_id [String] Only applicable if `digital_wallet` is GOOGLE_PAY. Google Pay Web Push Provision + # # @param digital_wallet [Symbol, Lithic::Models::CardWebProvisionParams::DigitalWallet] Name of digital wallet provider. # + # @param server_session_id [String] Only applicable if `digital_wallet` is GOOGLE_PAY. Google Pay Web Push Provision + # # @param request_options [Lithic::RequestOptions, Hash{Symbol=>Object}] # Name of digital wallet provider. @@ -23,6 +53,7 @@ module DigitalWallet extend Lithic::Internal::Type::Enum APPLE_PAY = :APPLE_PAY + GOOGLE_PAY = :GOOGLE_PAY # @!method self.values # @return [Array] diff --git a/lib/lithic/models/card_web_provision_response.rb b/lib/lithic/models/card_web_provision_response.rb index 737e0fce..c5371e02 100644 --- a/lib/lithic/models/card_web_provision_response.rb +++ b/lib/lithic/models/card_web_provision_response.rb @@ -3,81 +3,119 @@ module Lithic module Models # @see Lithic::Resources::Cards#web_provision - class CardWebProvisionResponse < Lithic::Internal::Type::BaseModel - # @!attribute jws - # JWS object required for handoff to Apple's script. - # - # @return [Lithic::Models::CardWebProvisionResponse::Jws, nil] - optional :jws, -> { Lithic::Models::CardWebProvisionResponse::Jws } - - # @!attribute state - # A unique identifier for the JWS object. - # - # @return [String, nil] - optional :state, String - - # @!method initialize(jws: nil, state: nil) - # @param jws [Lithic::Models::CardWebProvisionResponse::Jws] JWS object required for handoff to Apple's script. - # - # @param state [String] A unique identifier for the JWS object. - - # @see Lithic::Models::CardWebProvisionResponse#jws - class Jws < Lithic::Internal::Type::BaseModel - # @!attribute header - # JWS unprotected headers containing header parameters that aren't - # integrity-protected by the JWS signature. - # - # @return [Lithic::Models::CardWebProvisionResponse::Jws::Header, nil] - optional :header, -> { Lithic::Models::CardWebProvisionResponse::Jws::Header } + module CardWebProvisionResponse + extend Lithic::Internal::Type::Union - # @!attribute payload - # Base64url encoded JSON object containing the provisioning payload. - # - # @return [String, nil] - optional :payload, String + variant -> { Lithic::Models::CardWebProvisionResponse::AppleWebPushProvisioningResponse } - # @!attribute protected - # Base64url encoded JWS protected headers containing the header parameters that - # are integrity-protected by the JWS signature. + variant -> { Lithic::Models::CardWebProvisionResponse::GoogleWebPushProvisioningResponse } + + class AppleWebPushProvisioningResponse < Lithic::Internal::Type::BaseModel + # @!attribute jws + # JWS object required for handoff to Apple's script. # - # @return [String, nil] - optional :protected, String + # @return [Lithic::Models::CardWebProvisionResponse::AppleWebPushProvisioningResponse::Jws, nil] + optional :jws, -> { Lithic::Models::CardWebProvisionResponse::AppleWebPushProvisioningResponse::Jws } - # @!attribute signature - # Base64url encoded signature of the JWS object. + # @!attribute state + # A unique identifier for the JWS object. # # @return [String, nil] - optional :signature, String + optional :state, String - # @!method initialize(header: nil, payload: nil, protected: nil, signature: nil) - # Some parameter documentations has been truncated, see - # {Lithic::Models::CardWebProvisionResponse::Jws} for more details. - # - # JWS object required for handoff to Apple's script. - # - # @param header [Lithic::Models::CardWebProvisionResponse::Jws::Header] JWS unprotected headers containing header parameters that aren't integrity-prote - # - # @param payload [String] Base64url encoded JSON object containing the provisioning payload. + # @!method initialize(jws: nil, state: nil) + # @param jws [Lithic::Models::CardWebProvisionResponse::AppleWebPushProvisioningResponse::Jws] JWS object required for handoff to Apple's script. # - # @param protected [String] Base64url encoded JWS protected headers containing the header parameters that ar - # - # @param signature [String] Base64url encoded signature of the JWS object. + # @param state [String] A unique identifier for the JWS object. + + # @see Lithic::Models::CardWebProvisionResponse::AppleWebPushProvisioningResponse#jws + class Jws < Lithic::Internal::Type::BaseModel + # @!attribute header + # JWS unprotected headers containing header parameters that aren't + # integrity-protected by the JWS signature. + # + # @return [Lithic::Models::CardWebProvisionResponse::AppleWebPushProvisioningResponse::Jws::Header, nil] + optional :header, + -> { Lithic::Models::CardWebProvisionResponse::AppleWebPushProvisioningResponse::Jws::Header } - # @see Lithic::Models::CardWebProvisionResponse::Jws#header - class Header < Lithic::Internal::Type::BaseModel - # @!attribute kid - # The ID for the JWS Public Key of the key pair used to generate the signature. + # @!attribute payload + # Base64url encoded JSON object containing the provisioning payload. # # @return [String, nil] - optional :kid, String + optional :payload, String - # @!method initialize(kid: nil) - # JWS unprotected headers containing header parameters that aren't - # integrity-protected by the JWS signature. + # @!attribute protected + # Base64url encoded JWS protected headers containing the header parameters that + # are integrity-protected by the JWS signature. + # + # @return [String, nil] + optional :protected, String + + # @!attribute signature + # Base64url encoded signature of the JWS object. # - # @param kid [String] The ID for the JWS Public Key of the key pair used to generate the signature. + # @return [String, nil] + optional :signature, String + + # @!method initialize(header: nil, payload: nil, protected: nil, signature: nil) + # Some parameter documentations has been truncated, see + # {Lithic::Models::CardWebProvisionResponse::AppleWebPushProvisioningResponse::Jws} + # for more details. + # + # JWS object required for handoff to Apple's script. + # + # @param header [Lithic::Models::CardWebProvisionResponse::AppleWebPushProvisioningResponse::Jws::Header] JWS unprotected headers containing header parameters that aren't integrity-prote + # + # @param payload [String] Base64url encoded JSON object containing the provisioning payload. + # + # @param protected [String] Base64url encoded JWS protected headers containing the header parameters that ar + # + # @param signature [String] Base64url encoded signature of the JWS object. + + # @see Lithic::Models::CardWebProvisionResponse::AppleWebPushProvisioningResponse::Jws#header + class Header < Lithic::Internal::Type::BaseModel + # @!attribute kid + # The ID for the JWS Public Key of the key pair used to generate the signature. + # + # @return [String, nil] + optional :kid, String + + # @!method initialize(kid: nil) + # JWS unprotected headers containing header parameters that aren't + # integrity-protected by the JWS signature. + # + # @param kid [String] The ID for the JWS Public Key of the key pair used to generate the signature. + end end end + + class GoogleWebPushProvisioningResponse < Lithic::Internal::Type::BaseModel + # @!attribute google_opc + # A base64 encoded and encrypted payload representing card data for the Google Pay + # UWPP FPAN flow. + # + # @return [String, nil] + optional :google_opc, String + + # @!attribute tsp_opc + # A base64 encoded and encrypted payload representing card data for the Google Pay + # UWPP tokenization flow. + # + # @return [String, nil] + optional :tsp_opc, String + + # @!method initialize(google_opc: nil, tsp_opc: nil) + # Some parameter documentations has been truncated, see + # {Lithic::Models::CardWebProvisionResponse::GoogleWebPushProvisioningResponse} + # for more details. + # + # @param google_opc [String] A base64 encoded and encrypted payload representing card data for the Google Pay + # + # @param tsp_opc [String] A base64 encoded and encrypted payload representing card data for the Google Pay + end + + # @!method self.variants + # @return [Array(Lithic::Models::CardWebProvisionResponse::AppleWebPushProvisioningResponse, Lithic::Models::CardWebProvisionResponse::GoogleWebPushProvisioningResponse)] end end end diff --git a/lib/lithic/models/cardholder_authentication.rb b/lib/lithic/models/cardholder_authentication.rb new file mode 100644 index 00000000..a5a54772 --- /dev/null +++ b/lib/lithic/models/cardholder_authentication.rb @@ -0,0 +1,132 @@ +# frozen_string_literal: true + +module Lithic + module Models + class CardholderAuthentication < Lithic::Internal::Type::BaseModel + # @!attribute authentication_method + # Indicates the method used to authenticate the cardholder. + # + # @return [Symbol, Lithic::Models::CardholderAuthentication::AuthenticationMethod] + required :authentication_method, enum: -> { Lithic::CardholderAuthentication::AuthenticationMethod } + + # @!attribute authentication_result + # Indicates the outcome of the 3DS authentication process. + # + # @return [Symbol, Lithic::Models::CardholderAuthentication::AuthenticationResult] + required :authentication_result, enum: -> { Lithic::CardholderAuthentication::AuthenticationResult } + + # @!attribute decision_made_by + # Indicates which party made the 3DS authentication decision. + # + # @return [Symbol, Lithic::Models::CardholderAuthentication::DecisionMadeBy] + required :decision_made_by, enum: -> { Lithic::CardholderAuthentication::DecisionMadeBy } + + # @!attribute liability_shift + # Indicates whether chargeback liability shift applies to the transaction. + # Possible enum values: + # + # - `3DS_AUTHENTICATED`: The transaction was fully authenticated through a 3-D + # Secure flow, chargeback liability shift applies. + # - `NONE`: Chargeback liability shift has not shifted to the issuer, i.e. the + # merchant is liable. + # - `TOKEN_AUTHENTICATED`: The transaction was a tokenized payment with validated + # cryptography, possibly recurring. Chargeback liability shift to the issuer + # applies. + # + # @return [Symbol, Lithic::Models::CardholderAuthentication::LiabilityShift] + required :liability_shift, enum: -> { Lithic::CardholderAuthentication::LiabilityShift } + + # @!attribute three_ds_authentication_token + # Unique identifier you can use to match a given 3DS authentication (available via + # the three_ds_authentication.created event webhook) and the transaction. Note + # that in cases where liability shift does not occur, this token is matched to the + # transaction on a best-effort basis. + # + # @return [String, nil] + required :three_ds_authentication_token, String, nil?: true + + # @!method initialize(authentication_method:, authentication_result:, decision_made_by:, liability_shift:, three_ds_authentication_token:) + # Some parameter documentations has been truncated, see + # {Lithic::Models::CardholderAuthentication} for more details. + # + # @param authentication_method [Symbol, Lithic::Models::CardholderAuthentication::AuthenticationMethod] Indicates the method used to authenticate the cardholder. + # + # @param authentication_result [Symbol, Lithic::Models::CardholderAuthentication::AuthenticationResult] Indicates the outcome of the 3DS authentication process. + # + # @param decision_made_by [Symbol, Lithic::Models::CardholderAuthentication::DecisionMadeBy] Indicates which party made the 3DS authentication decision. + # + # @param liability_shift [Symbol, Lithic::Models::CardholderAuthentication::LiabilityShift] Indicates whether chargeback liability shift applies to the transaction. Possibl + # + # @param three_ds_authentication_token [String, nil] Unique identifier you can use to match a given 3DS authentication (available via + + # Indicates the method used to authenticate the cardholder. + # + # @see Lithic::Models::CardholderAuthentication#authentication_method + module AuthenticationMethod + extend Lithic::Internal::Type::Enum + + FRICTIONLESS = :FRICTIONLESS + CHALLENGE = :CHALLENGE + NONE = :NONE + + # @!method self.values + # @return [Array] + end + + # Indicates the outcome of the 3DS authentication process. + # + # @see Lithic::Models::CardholderAuthentication#authentication_result + module AuthenticationResult + extend Lithic::Internal::Type::Enum + + ATTEMPTS = :ATTEMPTS + DECLINE = :DECLINE + NONE = :NONE + SUCCESS = :SUCCESS + + # @!method self.values + # @return [Array] + end + + # Indicates which party made the 3DS authentication decision. + # + # @see Lithic::Models::CardholderAuthentication#decision_made_by + module DecisionMadeBy + extend Lithic::Internal::Type::Enum + + CUSTOMER_RULES = :CUSTOMER_RULES + CUSTOMER_ENDPOINT = :CUSTOMER_ENDPOINT + LITHIC_DEFAULT = :LITHIC_DEFAULT + LITHIC_RULES = :LITHIC_RULES + NETWORK = :NETWORK + UNKNOWN = :UNKNOWN + + # @!method self.values + # @return [Array] + end + + # Indicates whether chargeback liability shift applies to the transaction. + # Possible enum values: + # + # - `3DS_AUTHENTICATED`: The transaction was fully authenticated through a 3-D + # Secure flow, chargeback liability shift applies. + # - `NONE`: Chargeback liability shift has not shifted to the issuer, i.e. the + # merchant is liable. + # - `TOKEN_AUTHENTICATED`: The transaction was a tokenized payment with validated + # cryptography, possibly recurring. Chargeback liability shift to the issuer + # applies. + # + # @see Lithic::Models::CardholderAuthentication#liability_shift + module LiabilityShift + extend Lithic::Internal::Type::Enum + + LIABILITY_SHIFT_3DS_AUTHENTICATED = :"3DS_AUTHENTICATED" + TOKEN_AUTHENTICATED = :TOKEN_AUTHENTICATED + NONE = :NONE + + # @!method self.values + # @return [Array] + end + end + end +end diff --git a/lib/lithic/models/cards/balance_list_response.rb b/lib/lithic/models/cards/balance_list_response.rb deleted file mode 100644 index bd28f764..00000000 --- a/lib/lithic/models/cards/balance_list_response.rb +++ /dev/null @@ -1,115 +0,0 @@ -# frozen_string_literal: true - -module Lithic - module Models - module Cards - # @see Lithic::Resources::Cards::Balances#list - class BalanceListResponse < Lithic::Internal::Type::BaseModel - # @!attribute token - # Globally unique identifier for the financial account that holds this balance. - # - # @return [String] - required :token, String - - # @!attribute available_amount - # Funds available for spend in the currency's smallest unit (e.g., cents for USD) - # - # @return [Integer] - required :available_amount, Integer - - # @!attribute created - # Date and time for when the balance was first created. - # - # @return [Time] - required :created, Time - - # @!attribute currency - # 3-character alphabetic ISO 4217 code for the local currency of the balance. - # - # @return [String] - required :currency, String - - # @!attribute last_transaction_event_token - # Globally unique identifier for the last financial transaction event that - # impacted this balance. - # - # @return [String] - required :last_transaction_event_token, String - - # @!attribute last_transaction_token - # Globally unique identifier for the last financial transaction that impacted this - # balance. - # - # @return [String] - required :last_transaction_token, String - - # @!attribute pending_amount - # Funds not available for spend due to card authorizations or pending ACH release. - # Shown in the currency's smallest unit (e.g., cents for USD). - # - # @return [Integer] - required :pending_amount, Integer - - # @!attribute total_amount - # The sum of available and pending balance in the currency's smallest unit (e.g., - # cents for USD). - # - # @return [Integer] - required :total_amount, Integer - - # @!attribute type - # Type of financial account. - # - # @return [Symbol, Lithic::Models::Cards::BalanceListResponse::Type] - required :type, enum: -> { Lithic::Models::Cards::BalanceListResponse::Type } - - # @!attribute updated - # Date and time for when the balance was last updated. - # - # @return [Time] - required :updated, Time - - # @!method initialize(token:, available_amount:, created:, currency:, last_transaction_event_token:, last_transaction_token:, pending_amount:, total_amount:, type:, updated:) - # Some parameter documentations has been truncated, see - # {Lithic::Models::Cards::BalanceListResponse} for more details. - # - # Balance of a Financial Account - # - # @param token [String] Globally unique identifier for the financial account that holds this balance. - # - # @param available_amount [Integer] Funds available for spend in the currency's smallest unit (e.g., cents for USD) - # - # @param created [Time] Date and time for when the balance was first created. - # - # @param currency [String] 3-character alphabetic ISO 4217 code for the local currency of the balance. - # - # @param last_transaction_event_token [String] Globally unique identifier for the last financial transaction event that impacte - # - # @param last_transaction_token [String] Globally unique identifier for the last financial transaction that impacted this - # - # @param pending_amount [Integer] Funds not available for spend due to card authorizations or pending ACH release. - # - # @param total_amount [Integer] The sum of available and pending balance in the currency's smallest unit (e.g., - # - # @param type [Symbol, Lithic::Models::Cards::BalanceListResponse::Type] Type of financial account. - # - # @param updated [Time] Date and time for when the balance was last updated. - - # Type of financial account. - # - # @see Lithic::Models::Cards::BalanceListResponse#type - module Type - extend Lithic::Internal::Type::Enum - - ISSUING = :ISSUING - OPERATING = :OPERATING - RESERVE = :RESERVE - SECURITY = :SECURITY - - # @!method self.values - # @return [Array] - end - end - end - end -end diff --git a/lib/lithic/models/device.rb b/lib/lithic/models/device.rb new file mode 100644 index 00000000..6c888554 --- /dev/null +++ b/lib/lithic/models/device.rb @@ -0,0 +1,37 @@ +# frozen_string_literal: true + +module Lithic + module Models + class Device < Lithic::Internal::Type::BaseModel + # @!attribute imei + # The IMEI number of the device being provisioned. For Amex, this field contains + # device ID instead as IMEI is not provided + # + # @return [String, nil] + required :imei, String, nil?: true + + # @!attribute ip_address + # The IP address of the device initiating the request + # + # @return [String, nil] + required :ip_address, String, nil?: true + + # @!attribute location + # Latitude and longitude where the device is located during the authorization + # attempt + # + # @return [String, nil] + required :location, String, nil?: true + + # @!method initialize(imei:, ip_address:, location:) + # Some parameter documentations has been truncated, see {Lithic::Models::Device} + # for more details. + # + # @param imei [String, nil] The IMEI number of the device being provisioned. For Amex, this field contains d + # + # @param ip_address [String, nil] The IP address of the device initiating the request + # + # @param location [String, nil] Latitude and longitude where the device is located during the authorization atte + end + end +end diff --git a/lib/lithic/models/digital_wallet_token_metadata.rb b/lib/lithic/models/digital_wallet_token_metadata.rb new file mode 100644 index 00000000..d7a3719b --- /dev/null +++ b/lib/lithic/models/digital_wallet_token_metadata.rb @@ -0,0 +1,141 @@ +# frozen_string_literal: true + +module Lithic + module Models + class DigitalWalletTokenMetadata < Lithic::Internal::Type::BaseModel + # @!attribute payment_account_info + # Contains the information of the account responsible for the payment. + # + # @return [Lithic::Models::DigitalWalletTokenMetadata::PaymentAccountInfo] + required :payment_account_info, -> { Lithic::DigitalWalletTokenMetadata::PaymentAccountInfo } + + # @!attribute status + # The current status of the digital wallet token. Pending or declined. + # + # @return [String] + required :status, String + + # @!attribute payment_app_instance_id + # The identifier of the Payment App instance within a device that will be + # provisioned with a token + # + # @return [String, nil] + optional :payment_app_instance_id, String, nil?: true + + # @!attribute token_requestor_id + # The party that requested the digitization + # + # @return [String, nil] + optional :token_requestor_id, String + + # @!attribute token_requestor_name + # Human-readable name of the wallet that the token_requestor_id maps to. + # + # @return [Symbol, Lithic::Models::DigitalWalletTokenMetadata::TokenRequestorName, nil] + optional :token_requestor_name, enum: -> { Lithic::DigitalWalletTokenMetadata::TokenRequestorName } + + # @!method initialize(payment_account_info:, status:, payment_app_instance_id: nil, token_requestor_id: nil, token_requestor_name: nil) + # Some parameter documentations has been truncated, see + # {Lithic::Models::DigitalWalletTokenMetadata} for more details. + # + # Contains the metadata for the digital wallet being tokenized. + # + # @param payment_account_info [Lithic::Models::DigitalWalletTokenMetadata::PaymentAccountInfo] Contains the information of the account responsible for the payment. + # + # @param status [String] The current status of the digital wallet token. Pending or declined. + # + # @param payment_app_instance_id [String, nil] The identifier of the Payment App instance within a device that will be provisio + # + # @param token_requestor_id [String] The party that requested the digitization + # + # @param token_requestor_name [Symbol, Lithic::Models::DigitalWalletTokenMetadata::TokenRequestorName] Human-readable name of the wallet that the token_requestor_id maps to. + + # @see Lithic::Models::DigitalWalletTokenMetadata#payment_account_info + class PaymentAccountInfo < Lithic::Internal::Type::BaseModel + # @!attribute account_holder_data + # Additional information that can be used to identify the account holder, such as + # name, address, etc + # + # @return [Lithic::Models::DigitalWalletTokenMetadata::PaymentAccountInfo::AccountHolderData] + required :account_holder_data, + -> { Lithic::DigitalWalletTokenMetadata::PaymentAccountInfo::AccountHolderData } + + # @!attribute pan_unique_reference + # Reference to the PAN that is unique per Wallet Provider + # + # @return [String, nil] + optional :pan_unique_reference, String, nil?: true + + # @!attribute payment_account_reference + # The unique account reference assigned to the PAN + # + # @return [String, nil] + optional :payment_account_reference, String, nil?: true + + # @!attribute token_unique_reference + # A unique reference assigned following the allocation of a token used to identify + # the token for the duration of its lifetime. + # + # @return [String, nil] + optional :token_unique_reference, String, nil?: true + + # @!method initialize(account_holder_data:, pan_unique_reference: nil, payment_account_reference: nil, token_unique_reference: nil) + # Some parameter documentations has been truncated, see + # {Lithic::Models::DigitalWalletTokenMetadata::PaymentAccountInfo} for more + # details. + # + # Contains the information of the account responsible for the payment. + # + # @param account_holder_data [Lithic::Models::DigitalWalletTokenMetadata::PaymentAccountInfo::AccountHolderData] Additional information that can be used to identify the account holder, such as + # + # @param pan_unique_reference [String, nil] Reference to the PAN that is unique per Wallet Provider + # + # @param payment_account_reference [String, nil] The unique account reference assigned to the PAN + # + # @param token_unique_reference [String, nil] A unique reference assigned following the allocation of a token used to identify + + # @see Lithic::Models::DigitalWalletTokenMetadata::PaymentAccountInfo#account_holder_data + class AccountHolderData < Lithic::Internal::Type::BaseModel + # @!attribute phone_number + # The phone number, may contain country code along with phone number when + # countryDialInCode is not present + # + # @return [String, nil] + optional :phone_number, String, nil?: true + + # @!method initialize(phone_number: nil) + # Some parameter documentations has been truncated, see + # {Lithic::Models::DigitalWalletTokenMetadata::PaymentAccountInfo::AccountHolderData} + # for more details. + # + # Additional information that can be used to identify the account holder, such as + # name, address, etc + # + # @param phone_number [String, nil] The phone number, may contain country code along with phone number when countryD + end + end + + # Human-readable name of the wallet that the token_requestor_id maps to. + # + # @see Lithic::Models::DigitalWalletTokenMetadata#token_requestor_name + module TokenRequestorName + extend Lithic::Internal::Type::Enum + + AMAZON_ONE = :AMAZON_ONE + ANDROID_PAY = :ANDROID_PAY + APPLE_PAY = :APPLE_PAY + FACEBOOK = :FACEBOOK + FITBIT_PAY = :FITBIT_PAY + GARMIN_PAY = :GARMIN_PAY + MICROSOFT_PAY = :MICROSOFT_PAY + NETFLIX = :NETFLIX + SAMSUNG_PAY = :SAMSUNG_PAY + UNKNOWN = :UNKNOWN + VISA_CHECKOUT = :VISA_CHECKOUT + + # @!method self.values + # @return [Array] + end + end + end +end diff --git a/lib/lithic/models/external_bank_account_unpause_response.rb b/lib/lithic/models/external_bank_account.rb similarity index 86% rename from lib/lithic/models/external_bank_account_unpause_response.rb rename to lib/lithic/models/external_bank_account.rb index 076431aa..f7913029 100644 --- a/lib/lithic/models/external_bank_account_unpause_response.rb +++ b/lib/lithic/models/external_bank_account.rb @@ -2,8 +2,8 @@ module Lithic module Models - # @see Lithic::Resources::ExternalBankAccounts#unpause - class ExternalBankAccountUnpauseResponse < Lithic::Internal::Type::BaseModel + # @see Lithic::Resources::ExternalBankAccounts#retry_prenote + class ExternalBankAccount < Lithic::Internal::Type::BaseModel # @!attribute token # A globally unique identifier for this record of an external bank account # association. If a program links an external bank account to more than one @@ -62,14 +62,14 @@ class ExternalBankAccountUnpauseResponse < Lithic::Internal::Type::BaseModel # @!attribute state # Account State # - # @return [Symbol, Lithic::Models::ExternalBankAccountUnpauseResponse::State] - required :state, enum: -> { Lithic::Models::ExternalBankAccountUnpauseResponse::State } + # @return [Symbol, Lithic::Models::ExternalBankAccount::State] + required :state, enum: -> { Lithic::ExternalBankAccount::State } # @!attribute type # Account Type # - # @return [Symbol, Lithic::Models::ExternalBankAccountUnpauseResponse::Type] - required :type, enum: -> { Lithic::Models::ExternalBankAccountUnpauseResponse::Type } + # @return [Symbol, Lithic::Models::ExternalBankAccount::Type] + required :type, enum: -> { Lithic::ExternalBankAccount::Type } # @!attribute verification_attempts # The number of attempts at verification @@ -86,9 +86,8 @@ class ExternalBankAccountUnpauseResponse < Lithic::Internal::Type::BaseModel # @!attribute verification_state # Verification State # - # @return [Symbol, Lithic::Models::ExternalBankAccountUnpauseResponse::VerificationState] - required :verification_state, - enum: -> { Lithic::Models::ExternalBankAccountUnpauseResponse::VerificationState } + # @return [Symbol, Lithic::Models::ExternalBankAccount::VerificationState] + required :verification_state, enum: -> { Lithic::ExternalBankAccount::VerificationState } # @!attribute account_token # Indicates which Lithic account the external account is associated with. For @@ -150,7 +149,7 @@ class ExternalBankAccountUnpauseResponse < Lithic::Internal::Type::BaseModel # @!method initialize(token:, country:, created:, currency:, last_four:, owner:, owner_type:, routing_number:, state:, type:, verification_attempts:, verification_method:, verification_state:, account_token: nil, address: nil, company_id: nil, dob: nil, doing_business_as: nil, financial_account_token: nil, name: nil, user_defined_id: nil, verification_failed_reason: nil) # Some parameter documentations has been truncated, see - # {Lithic::Models::ExternalBankAccountUnpauseResponse} for more details. + # {Lithic::Models::ExternalBankAccount} for more details. # # @param token [String] A globally unique identifier for this record of an external bank account associa # @@ -168,15 +167,15 @@ class ExternalBankAccountUnpauseResponse < Lithic::Internal::Type::BaseModel # # @param routing_number [String] Routing Number # - # @param state [Symbol, Lithic::Models::ExternalBankAccountUnpauseResponse::State] Account State + # @param state [Symbol, Lithic::Models::ExternalBankAccount::State] Account State # - # @param type [Symbol, Lithic::Models::ExternalBankAccountUnpauseResponse::Type] Account Type + # @param type [Symbol, Lithic::Models::ExternalBankAccount::Type] Account Type # # @param verification_attempts [Integer] The number of attempts at verification # # @param verification_method [Symbol, Lithic::Models::VerificationMethod] Verification Method # - # @param verification_state [Symbol, Lithic::Models::ExternalBankAccountUnpauseResponse::VerificationState] Verification State + # @param verification_state [Symbol, Lithic::Models::ExternalBankAccount::VerificationState] Verification State # # @param account_token [String, nil] Indicates which Lithic account the external account is associated with. For exte # @@ -198,7 +197,7 @@ class ExternalBankAccountUnpauseResponse < Lithic::Internal::Type::BaseModel # Account State # - # @see Lithic::Models::ExternalBankAccountUnpauseResponse#state + # @see Lithic::Models::ExternalBankAccount#state module State extend Lithic::Internal::Type::Enum @@ -212,7 +211,7 @@ module State # Account Type # - # @see Lithic::Models::ExternalBankAccountUnpauseResponse#type + # @see Lithic::Models::ExternalBankAccount#type module Type extend Lithic::Internal::Type::Enum @@ -225,7 +224,7 @@ module Type # Verification State # - # @see Lithic::Models::ExternalBankAccountUnpauseResponse#verification_state + # @see Lithic::Models::ExternalBankAccount#verification_state module VerificationState extend Lithic::Internal::Type::Enum diff --git a/lib/lithic/models/external_bank_account_retry_prenote_response.rb b/lib/lithic/models/external_bank_account_retry_prenote_response.rb deleted file mode 100644 index 932081b8..00000000 --- a/lib/lithic/models/external_bank_account_retry_prenote_response.rb +++ /dev/null @@ -1,242 +0,0 @@ -# frozen_string_literal: true - -module Lithic - module Models - # @see Lithic::Resources::ExternalBankAccounts#retry_prenote - class ExternalBankAccountRetryPrenoteResponse < Lithic::Internal::Type::BaseModel - # @!attribute token - # A globally unique identifier for this record of an external bank account - # association. If a program links an external bank account to more than one - # end-user or to both the program and the end-user, then Lithic will return each - # record of the association - # - # @return [String] - required :token, String - - # @!attribute country - # The country that the bank account is located in using ISO 3166-1. We will only - # accept USA bank accounts e.g., USA - # - # @return [String] - required :country, String - - # @!attribute created - # An ISO 8601 string representing when this funding source was added to the Lithic - # account. - # - # @return [Time] - required :created, Time - - # @!attribute currency - # currency of the external account 3-character alphabetic ISO 4217 code - # - # @return [String] - required :currency, String - - # @!attribute last_four - # The last 4 digits of the bank account. Derived by Lithic from the account number - # passed - # - # @return [String] - required :last_four, String - - # @!attribute owner - # Legal Name of the business or individual who owns the external account. This - # will appear in statements - # - # @return [String] - required :owner, String - - # @!attribute owner_type - # Owner Type - # - # @return [Symbol, Lithic::Models::OwnerType] - required :owner_type, enum: -> { Lithic::OwnerType } - - # @!attribute routing_number - # Routing Number - # - # @return [String] - required :routing_number, String - - # @!attribute state - # Account State - # - # @return [Symbol, Lithic::Models::ExternalBankAccountRetryPrenoteResponse::State] - required :state, enum: -> { Lithic::Models::ExternalBankAccountRetryPrenoteResponse::State } - - # @!attribute type - # Account Type - # - # @return [Symbol, Lithic::Models::ExternalBankAccountRetryPrenoteResponse::Type] - required :type, enum: -> { Lithic::Models::ExternalBankAccountRetryPrenoteResponse::Type } - - # @!attribute verification_attempts - # The number of attempts at verification - # - # @return [Integer] - required :verification_attempts, Integer - - # @!attribute verification_method - # Verification Method - # - # @return [Symbol, Lithic::Models::VerificationMethod] - required :verification_method, enum: -> { Lithic::VerificationMethod } - - # @!attribute verification_state - # Verification State - # - # @return [Symbol, Lithic::Models::ExternalBankAccountRetryPrenoteResponse::VerificationState] - required :verification_state, - enum: -> { Lithic::Models::ExternalBankAccountRetryPrenoteResponse::VerificationState } - - # @!attribute account_token - # Indicates which Lithic account the external account is associated with. For - # external accounts that are associated with the program, account_token field - # returned will be null - # - # @return [String, nil] - optional :account_token, String, nil?: true - - # @!attribute address - # Address - # - # @return [Lithic::Models::ExternalBankAccountAddress, nil] - optional :address, -> { Lithic::ExternalBankAccountAddress }, nil?: true - - # @!attribute company_id - # Optional field that helps identify bank accounts in receipts - # - # @return [String, nil] - optional :company_id, String, nil?: true - - # @!attribute dob - # Date of Birth of the Individual that owns the external bank account - # - # @return [Date, nil] - optional :dob, Date, nil?: true - - # @!attribute doing_business_as - # Doing Business As - # - # @return [String, nil] - optional :doing_business_as, String, nil?: true - - # @!attribute financial_account_token - # The financial account token of the operating account to fund the micro deposits - # - # @return [String, nil] - optional :financial_account_token, String, nil?: true - - # @!attribute name - # The nickname for this External Bank Account - # - # @return [String, nil] - optional :name, String, nil?: true - - # @!attribute user_defined_id - # User Defined ID - # - # @return [String, nil] - optional :user_defined_id, String, nil?: true - - # @!attribute verification_failed_reason - # Optional free text description of the reason for the failed verification. For - # ACH micro-deposits returned, this field will display the reason return code sent - # by the ACH network - # - # @return [String, nil] - optional :verification_failed_reason, String, nil?: true - - # @!method initialize(token:, country:, created:, currency:, last_four:, owner:, owner_type:, routing_number:, state:, type:, verification_attempts:, verification_method:, verification_state:, account_token: nil, address: nil, company_id: nil, dob: nil, doing_business_as: nil, financial_account_token: nil, name: nil, user_defined_id: nil, verification_failed_reason: nil) - # Some parameter documentations has been truncated, see - # {Lithic::Models::ExternalBankAccountRetryPrenoteResponse} for more details. - # - # @param token [String] A globally unique identifier for this record of an external bank account associa - # - # @param country [String] The country that the bank account is located in using ISO 3166-1. We will only a - # - # @param created [Time] An ISO 8601 string representing when this funding source was added to the Lithic - # - # @param currency [String] currency of the external account 3-character alphabetic ISO 4217 code - # - # @param last_four [String] The last 4 digits of the bank account. Derived by Lithic from the account number - # - # @param owner [String] Legal Name of the business or individual who owns the external account. This wil - # - # @param owner_type [Symbol, Lithic::Models::OwnerType] Owner Type - # - # @param routing_number [String] Routing Number - # - # @param state [Symbol, Lithic::Models::ExternalBankAccountRetryPrenoteResponse::State] Account State - # - # @param type [Symbol, Lithic::Models::ExternalBankAccountRetryPrenoteResponse::Type] Account Type - # - # @param verification_attempts [Integer] The number of attempts at verification - # - # @param verification_method [Symbol, Lithic::Models::VerificationMethod] Verification Method - # - # @param verification_state [Symbol, Lithic::Models::ExternalBankAccountRetryPrenoteResponse::VerificationState] Verification State - # - # @param account_token [String, nil] Indicates which Lithic account the external account is associated with. For exte - # - # @param address [Lithic::Models::ExternalBankAccountAddress, nil] Address - # - # @param company_id [String, nil] Optional field that helps identify bank accounts in receipts - # - # @param dob [Date, nil] Date of Birth of the Individual that owns the external bank account - # - # @param doing_business_as [String, nil] Doing Business As - # - # @param financial_account_token [String, nil] The financial account token of the operating account to fund the micro deposits - # - # @param name [String, nil] The nickname for this External Bank Account - # - # @param user_defined_id [String, nil] User Defined ID - # - # @param verification_failed_reason [String, nil] Optional free text description of the reason for the failed verification. For AC - - # Account State - # - # @see Lithic::Models::ExternalBankAccountRetryPrenoteResponse#state - module State - extend Lithic::Internal::Type::Enum - - ENABLED = :ENABLED - CLOSED = :CLOSED - PAUSED = :PAUSED - - # @!method self.values - # @return [Array] - end - - # Account Type - # - # @see Lithic::Models::ExternalBankAccountRetryPrenoteResponse#type - module Type - extend Lithic::Internal::Type::Enum - - CHECKING = :CHECKING - SAVINGS = :SAVINGS - - # @!method self.values - # @return [Array] - end - - # Verification State - # - # @see Lithic::Models::ExternalBankAccountRetryPrenoteResponse#verification_state - module VerificationState - extend Lithic::Internal::Type::Enum - - PENDING = :PENDING - ENABLED = :ENABLED - FAILED_VERIFICATION = :FAILED_VERIFICATION - INSUFFICIENT_FUNDS = :INSUFFICIENT_FUNDS - - # @!method self.values - # @return [Array] - end - end - end -end diff --git a/lib/lithic/models/external_payment.rb b/lib/lithic/models/external_payment.rb index 01015071..f9b90b25 100644 --- a/lib/lithic/models/external_payment.rb +++ b/lib/lithic/models/external_payment.rb @@ -132,6 +132,8 @@ module Category EXTERNAL_WIRE = :EXTERNAL_WIRE EXTERNAL_ACH = :EXTERNAL_ACH EXTERNAL_CHECK = :EXTERNAL_CHECK + EXTERNAL_FEDNOW = :EXTERNAL_FEDNOW + EXTERNAL_RTP = :EXTERNAL_RTP EXTERNAL_TRANSFER = :EXTERNAL_TRANSFER # @!method self.values @@ -235,6 +237,16 @@ module Type EXTERNAL_CHECK_SETTLED = :EXTERNAL_CHECK_SETTLED EXTERNAL_CHECK_REVERSED = :EXTERNAL_CHECK_REVERSED EXTERNAL_CHECK_RELEASED = :EXTERNAL_CHECK_RELEASED + EXTERNAL_FEDNOW_INITIATED = :EXTERNAL_FEDNOW_INITIATED + EXTERNAL_FEDNOW_CANCELED = :EXTERNAL_FEDNOW_CANCELED + EXTERNAL_FEDNOW_SETTLED = :EXTERNAL_FEDNOW_SETTLED + EXTERNAL_FEDNOW_REVERSED = :EXTERNAL_FEDNOW_REVERSED + EXTERNAL_FEDNOW_RELEASED = :EXTERNAL_FEDNOW_RELEASED + EXTERNAL_RTP_INITIATED = :EXTERNAL_RTP_INITIATED + EXTERNAL_RTP_CANCELED = :EXTERNAL_RTP_CANCELED + EXTERNAL_RTP_SETTLED = :EXTERNAL_RTP_SETTLED + EXTERNAL_RTP_REVERSED = :EXTERNAL_RTP_REVERSED + EXTERNAL_RTP_RELEASED = :EXTERNAL_RTP_RELEASED # @!method self.values # @return [Array] diff --git a/lib/lithic/models/external_payment_create_params.rb b/lib/lithic/models/external_payment_create_params.rb index cc9efe3d..5e8f1571 100644 --- a/lib/lithic/models/external_payment_create_params.rb +++ b/lib/lithic/models/external_payment_create_params.rb @@ -70,6 +70,8 @@ module Category EXTERNAL_WIRE = :EXTERNAL_WIRE EXTERNAL_ACH = :EXTERNAL_ACH EXTERNAL_CHECK = :EXTERNAL_CHECK + EXTERNAL_FEDNOW = :EXTERNAL_FEDNOW + EXTERNAL_RTP = :EXTERNAL_RTP EXTERNAL_TRANSFER = :EXTERNAL_TRANSFER # @!method self.values diff --git a/lib/lithic/models/external_payment_list_params.rb b/lib/lithic/models/external_payment_list_params.rb index 54496222..aff41236 100644 --- a/lib/lithic/models/external_payment_list_params.rb +++ b/lib/lithic/models/external_payment_list_params.rb @@ -104,6 +104,8 @@ module Category EXTERNAL_WIRE = :EXTERNAL_WIRE EXTERNAL_ACH = :EXTERNAL_ACH EXTERNAL_CHECK = :EXTERNAL_CHECK + EXTERNAL_FEDNOW = :EXTERNAL_FEDNOW + EXTERNAL_RTP = :EXTERNAL_RTP EXTERNAL_TRANSFER = :EXTERNAL_TRANSFER # @!method self.values diff --git a/lib/lithic/models/financial_account_balance.rb b/lib/lithic/models/financial_account_balance.rb new file mode 100644 index 00000000..b8da8303 --- /dev/null +++ b/lib/lithic/models/financial_account_balance.rb @@ -0,0 +1,112 @@ +# frozen_string_literal: true + +module Lithic + module Models + class FinancialAccountBalance < Lithic::Internal::Type::BaseModel + # @!attribute token + # Globally unique identifier for the financial account that holds this balance. + # + # @return [String] + required :token, String + + # @!attribute available_amount + # Funds available for spend in the currency's smallest unit (e.g., cents for USD) + # + # @return [Integer] + required :available_amount, Integer + + # @!attribute created + # Date and time for when the balance was first created. + # + # @return [Time] + required :created, Time + + # @!attribute currency + # 3-character alphabetic ISO 4217 code for the local currency of the balance. + # + # @return [String] + required :currency, String + + # @!attribute last_transaction_event_token + # Globally unique identifier for the last financial transaction event that + # impacted this balance. + # + # @return [String] + required :last_transaction_event_token, String + + # @!attribute last_transaction_token + # Globally unique identifier for the last financial transaction that impacted this + # balance. + # + # @return [String] + required :last_transaction_token, String + + # @!attribute pending_amount + # Funds not available for spend due to card authorizations or pending ACH release. + # Shown in the currency's smallest unit (e.g., cents for USD). + # + # @return [Integer] + required :pending_amount, Integer + + # @!attribute total_amount + # The sum of available and pending balance in the currency's smallest unit (e.g., + # cents for USD). + # + # @return [Integer] + required :total_amount, Integer + + # @!attribute type + # Type of financial account. + # + # @return [Symbol, Lithic::Models::FinancialAccountBalance::Type] + required :type, enum: -> { Lithic::FinancialAccountBalance::Type } + + # @!attribute updated + # Date and time for when the balance was last updated. + # + # @return [Time] + required :updated, Time + + # @!method initialize(token:, available_amount:, created:, currency:, last_transaction_event_token:, last_transaction_token:, pending_amount:, total_amount:, type:, updated:) + # Some parameter documentations has been truncated, see + # {Lithic::Models::FinancialAccountBalance} for more details. + # + # Balance of a Financial Account + # + # @param token [String] Globally unique identifier for the financial account that holds this balance. + # + # @param available_amount [Integer] Funds available for spend in the currency's smallest unit (e.g., cents for USD) + # + # @param created [Time] Date and time for when the balance was first created. + # + # @param currency [String] 3-character alphabetic ISO 4217 code for the local currency of the balance. + # + # @param last_transaction_event_token [String] Globally unique identifier for the last financial transaction event that impacte + # + # @param last_transaction_token [String] Globally unique identifier for the last financial transaction that impacted this + # + # @param pending_amount [Integer] Funds not available for spend due to card authorizations or pending ACH release. + # + # @param total_amount [Integer] The sum of available and pending balance in the currency's smallest unit (e.g., + # + # @param type [Symbol, Lithic::Models::FinancialAccountBalance::Type] Type of financial account. + # + # @param updated [Time] Date and time for when the balance was last updated. + + # Type of financial account. + # + # @see Lithic::Models::FinancialAccountBalance#type + module Type + extend Lithic::Internal::Type::Enum + + ISSUING = :ISSUING + OPERATING = :OPERATING + RESERVE = :RESERVE + SECURITY = :SECURITY + + # @!method self.values + # @return [Array] + end + end + end +end diff --git a/lib/lithic/models/financial_accounts/balance_list_response.rb b/lib/lithic/models/financial_accounts/balance_list_response.rb deleted file mode 100644 index 7b07579f..00000000 --- a/lib/lithic/models/financial_accounts/balance_list_response.rb +++ /dev/null @@ -1,115 +0,0 @@ -# frozen_string_literal: true - -module Lithic - module Models - module FinancialAccounts - # @see Lithic::Resources::FinancialAccounts::Balances#list - class BalanceListResponse < Lithic::Internal::Type::BaseModel - # @!attribute token - # Globally unique identifier for the financial account that holds this balance. - # - # @return [String] - required :token, String - - # @!attribute available_amount - # Funds available for spend in the currency's smallest unit (e.g., cents for USD) - # - # @return [Integer] - required :available_amount, Integer - - # @!attribute created - # Date and time for when the balance was first created. - # - # @return [Time] - required :created, Time - - # @!attribute currency - # 3-character alphabetic ISO 4217 code for the local currency of the balance. - # - # @return [String] - required :currency, String - - # @!attribute last_transaction_event_token - # Globally unique identifier for the last financial transaction event that - # impacted this balance. - # - # @return [String] - required :last_transaction_event_token, String - - # @!attribute last_transaction_token - # Globally unique identifier for the last financial transaction that impacted this - # balance. - # - # @return [String] - required :last_transaction_token, String - - # @!attribute pending_amount - # Funds not available for spend due to card authorizations or pending ACH release. - # Shown in the currency's smallest unit (e.g., cents for USD). - # - # @return [Integer] - required :pending_amount, Integer - - # @!attribute total_amount - # The sum of available and pending balance in the currency's smallest unit (e.g., - # cents for USD). - # - # @return [Integer] - required :total_amount, Integer - - # @!attribute type - # Type of financial account. - # - # @return [Symbol, Lithic::Models::FinancialAccounts::BalanceListResponse::Type] - required :type, enum: -> { Lithic::Models::FinancialAccounts::BalanceListResponse::Type } - - # @!attribute updated - # Date and time for when the balance was last updated. - # - # @return [Time] - required :updated, Time - - # @!method initialize(token:, available_amount:, created:, currency:, last_transaction_event_token:, last_transaction_token:, pending_amount:, total_amount:, type:, updated:) - # Some parameter documentations has been truncated, see - # {Lithic::Models::FinancialAccounts::BalanceListResponse} for more details. - # - # Balance of a Financial Account - # - # @param token [String] Globally unique identifier for the financial account that holds this balance. - # - # @param available_amount [Integer] Funds available for spend in the currency's smallest unit (e.g., cents for USD) - # - # @param created [Time] Date and time for when the balance was first created. - # - # @param currency [String] 3-character alphabetic ISO 4217 code for the local currency of the balance. - # - # @param last_transaction_event_token [String] Globally unique identifier for the last financial transaction event that impacte - # - # @param last_transaction_token [String] Globally unique identifier for the last financial transaction that impacted this - # - # @param pending_amount [Integer] Funds not available for spend due to card authorizations or pending ACH release. - # - # @param total_amount [Integer] The sum of available and pending balance in the currency's smallest unit (e.g., - # - # @param type [Symbol, Lithic::Models::FinancialAccounts::BalanceListResponse::Type] Type of financial account. - # - # @param updated [Time] Date and time for when the balance was last updated. - - # Type of financial account. - # - # @see Lithic::Models::FinancialAccounts::BalanceListResponse#type - module Type - extend Lithic::Internal::Type::Enum - - ISSUING = :ISSUING - OPERATING = :OPERATING - RESERVE = :RESERVE - SECURITY = :SECURITY - - # @!method self.values - # @return [Array] - end - end - end - end -end diff --git a/lib/lithic/models/financial_accounts/statement.rb b/lib/lithic/models/financial_accounts/statement.rb index 465ce6eb..57f5971c 100644 --- a/lib/lithic/models/financial_accounts/statement.rb +++ b/lib/lithic/models/financial_accounts/statement.rb @@ -434,22 +434,22 @@ class PayoffDetails < Lithic::Internal::Type::BaseModel # @!attribute payoff_period_length_months # Number of months to full pay off # - # @return [Integer] - required :payoff_period_length_months, Integer + # @return [Integer, nil] + required :payoff_period_length_months, Integer, nil?: true # @!attribute payoff_period_monthly_payment_amount # The amount needed to be paid, in cents, each month in order to pay off current # balance in the payoff period # - # @return [Integer] - required :payoff_period_monthly_payment_amount, Integer + # @return [Integer, nil] + required :payoff_period_monthly_payment_amount, Integer, nil?: true # @!attribute payoff_period_payment_total # The sum of all interest and principal paid, in cents, when paying off in the # payoff period # - # @return [Integer] - required :payoff_period_payment_total, Integer + # @return [Integer, nil] + required :payoff_period_payment_total, Integer, nil?: true # @!method initialize(minimum_payment_months:, minimum_payment_total:, payoff_period_length_months:, payoff_period_monthly_payment_amount:, payoff_period_payment_total:) # Some parameter documentations has been truncated, see @@ -461,11 +461,11 @@ class PayoffDetails < Lithic::Internal::Type::BaseModel # # @param minimum_payment_total [String] The sum of all interest and principal paid, in cents, when only paying minimum m # - # @param payoff_period_length_months [Integer] Number of months to full pay off + # @param payoff_period_length_months [Integer, nil] Number of months to full pay off # - # @param payoff_period_monthly_payment_amount [Integer] The amount needed to be paid, in cents, each month in order to pay off current b + # @param payoff_period_monthly_payment_amount [Integer, nil] The amount needed to be paid, in cents, each month in order to pay off current b # - # @param payoff_period_payment_total [Integer] The sum of all interest and principal paid, in cents, when paying off in the pay + # @param payoff_period_payment_total [Integer, nil] The sum of all interest and principal paid, in cents, when paying off in the pay end end end 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 085a9b2c..b7267763 100644 --- a/lib/lithic/models/financial_accounts/statements/statement_line_items.rb +++ b/lib/lithic/models/financial_accounts/statements/statement_line_items.rb @@ -135,6 +135,8 @@ module Category CARD = :CARD EXTERNAL_ACH = :EXTERNAL_ACH EXTERNAL_CHECK = :EXTERNAL_CHECK + EXTERNAL_FEDNOW = :EXTERNAL_FEDNOW + EXTERNAL_RTP = :EXTERNAL_RTP EXTERNAL_TRANSFER = :EXTERNAL_TRANSFER EXTERNAL_WIRE = :EXTERNAL_WIRE MANAGEMENT_ADJUSTMENT = :MANAGEMENT_ADJUSTMENT @@ -195,6 +197,16 @@ module EventType EXTERNAL_CHECK_RELEASED = :EXTERNAL_CHECK_RELEASED EXTERNAL_CHECK_REVERSED = :EXTERNAL_CHECK_REVERSED EXTERNAL_CHECK_SETTLED = :EXTERNAL_CHECK_SETTLED + EXTERNAL_FEDNOW_CANCELED = :EXTERNAL_FEDNOW_CANCELED + EXTERNAL_FEDNOW_INITIATED = :EXTERNAL_FEDNOW_INITIATED + EXTERNAL_FEDNOW_RELEASED = :EXTERNAL_FEDNOW_RELEASED + EXTERNAL_FEDNOW_REVERSED = :EXTERNAL_FEDNOW_REVERSED + EXTERNAL_FEDNOW_SETTLED = :EXTERNAL_FEDNOW_SETTLED + EXTERNAL_RTP_CANCELED = :EXTERNAL_RTP_CANCELED + EXTERNAL_RTP_INITIATED = :EXTERNAL_RTP_INITIATED + EXTERNAL_RTP_RELEASED = :EXTERNAL_RTP_RELEASED + EXTERNAL_RTP_REVERSED = :EXTERNAL_RTP_REVERSED + EXTERNAL_RTP_SETTLED = :EXTERNAL_RTP_SETTLED EXTERNAL_TRANSFER_CANCELED = :EXTERNAL_TRANSFER_CANCELED EXTERNAL_TRANSFER_INITIATED = :EXTERNAL_TRANSFER_INITIATED EXTERNAL_TRANSFER_RELEASED = :EXTERNAL_TRANSFER_RELEASED @@ -223,6 +235,12 @@ module EventType RETURNED_PAYMENT = :RETURNED_PAYMENT RETURNED_PAYMENT_REVERSAL = :RETURNED_PAYMENT_REVERSAL LITHIC_NETWORK_PAYMENT = :LITHIC_NETWORK_PAYMENT + ANNUAL = :ANNUAL + ANNUAL_REVERSAL = :ANNUAL_REVERSAL + QUARTERLY = :QUARTERLY + QUARTERLY_REVERSAL = :QUARTERLY_REVERSAL + MONTHLY = :MONTHLY + MONTHLY_REVERSAL = :MONTHLY_REVERSAL # @!method self.values # @return [Array] diff --git a/lib/lithic/models/financial_event.rb b/lib/lithic/models/financial_event.rb index 09101055..e4f59f05 100644 --- a/lib/lithic/models/financial_event.rb +++ b/lib/lithic/models/financial_event.rb @@ -111,6 +111,16 @@ module Type EXTERNAL_CHECK_RELEASED = :EXTERNAL_CHECK_RELEASED EXTERNAL_CHECK_REVERSED = :EXTERNAL_CHECK_REVERSED EXTERNAL_CHECK_SETTLED = :EXTERNAL_CHECK_SETTLED + EXTERNAL_FEDNOW_CANCELED = :EXTERNAL_FEDNOW_CANCELED + EXTERNAL_FEDNOW_INITIATED = :EXTERNAL_FEDNOW_INITIATED + EXTERNAL_FEDNOW_RELEASED = :EXTERNAL_FEDNOW_RELEASED + EXTERNAL_FEDNOW_REVERSED = :EXTERNAL_FEDNOW_REVERSED + EXTERNAL_FEDNOW_SETTLED = :EXTERNAL_FEDNOW_SETTLED + EXTERNAL_RTP_CANCELED = :EXTERNAL_RTP_CANCELED + EXTERNAL_RTP_INITIATED = :EXTERNAL_RTP_INITIATED + EXTERNAL_RTP_RELEASED = :EXTERNAL_RTP_RELEASED + EXTERNAL_RTP_REVERSED = :EXTERNAL_RTP_REVERSED + EXTERNAL_RTP_SETTLED = :EXTERNAL_RTP_SETTLED EXTERNAL_TRANSFER_CANCELED = :EXTERNAL_TRANSFER_CANCELED EXTERNAL_TRANSFER_INITIATED = :EXTERNAL_TRANSFER_INITIATED EXTERNAL_TRANSFER_RELEASED = :EXTERNAL_TRANSFER_RELEASED @@ -139,6 +149,12 @@ module Type RETURNED_PAYMENT = :RETURNED_PAYMENT RETURNED_PAYMENT_REVERSAL = :RETURNED_PAYMENT_REVERSAL LITHIC_NETWORK_PAYMENT = :LITHIC_NETWORK_PAYMENT + ANNUAL = :ANNUAL + ANNUAL_REVERSAL = :ANNUAL_REVERSAL + QUARTERLY = :QUARTERLY + QUARTERLY_REVERSAL = :QUARTERLY_REVERSAL + MONTHLY = :MONTHLY + MONTHLY_REVERSAL = :MONTHLY_REVERSAL # @!method self.values # @return [Array] diff --git a/lib/lithic/models/funding_event_retrieve_response.rb b/lib/lithic/models/funding_event.rb similarity index 77% rename from lib/lithic/models/funding_event_retrieve_response.rb rename to lib/lithic/models/funding_event.rb index 81a0aa3e..2575abe0 100644 --- a/lib/lithic/models/funding_event_retrieve_response.rb +++ b/lib/lithic/models/funding_event.rb @@ -3,7 +3,7 @@ module Lithic module Models # @see Lithic::Resources::FundingEvents#retrieve - class FundingEventRetrieveResponse < Lithic::Internal::Type::BaseModel + class FundingEvent < Lithic::Internal::Type::BaseModel # @!attribute token # Unique token ID # @@ -13,9 +13,8 @@ class FundingEventRetrieveResponse < Lithic::Internal::Type::BaseModel # @!attribute collection_resource_type # Collection resource type # - # @return [Symbol, Lithic::Models::FundingEventRetrieveResponse::CollectionResourceType] - required :collection_resource_type, - enum: -> { Lithic::Models::FundingEventRetrieveResponse::CollectionResourceType } + # @return [Symbol, Lithic::Models::FundingEvent::CollectionResourceType] + required :collection_resource_type, enum: -> { Lithic::FundingEvent::CollectionResourceType } # @!attribute collection_tokens # IDs of collections, further information can be gathered from the appropriate @@ -39,9 +38,9 @@ class FundingEventRetrieveResponse < Lithic::Internal::Type::BaseModel # @!attribute network_settlement_summary # Network settlement summary breakdown by network settlement date # - # @return [Array] + # @return [Array] required :network_settlement_summary, - -> { Lithic::Internal::Type::ArrayOf[Lithic::Models::FundingEventRetrieveResponse::NetworkSettlementSummary] } + -> { Lithic::Internal::Type::ArrayOf[Lithic::FundingEvent::NetworkSettlementSummary] } # @!attribute previous_high_watermark # Time of the previous high watermark @@ -57,11 +56,11 @@ class FundingEventRetrieveResponse < Lithic::Internal::Type::BaseModel # @!method initialize(token:, collection_resource_type:, collection_tokens:, created:, high_watermark:, network_settlement_summary:, previous_high_watermark:, updated:) # Some parameter documentations has been truncated, see - # {Lithic::Models::FundingEventRetrieveResponse} for more details. + # {Lithic::Models::FundingEvent} for more details. # # @param token [String] Unique token ID # - # @param collection_resource_type [Symbol, Lithic::Models::FundingEventRetrieveResponse::CollectionResourceType] Collection resource type + # @param collection_resource_type [Symbol, Lithic::Models::FundingEvent::CollectionResourceType] Collection resource type # # @param collection_tokens [Array] IDs of collections, further information can be gathered from the appropriate col # @@ -69,7 +68,7 @@ class FundingEventRetrieveResponse < Lithic::Internal::Type::BaseModel # # @param high_watermark [Time] Time of the high watermark # - # @param network_settlement_summary [Array] Network settlement summary breakdown by network settlement date + # @param network_settlement_summary [Array] Network settlement summary breakdown by network settlement date # # @param previous_high_watermark [Time] Time of the previous high watermark # @@ -77,7 +76,7 @@ class FundingEventRetrieveResponse < Lithic::Internal::Type::BaseModel # Collection resource type # - # @see Lithic::Models::FundingEventRetrieveResponse#collection_resource_type + # @see Lithic::Models::FundingEvent#collection_resource_type module CollectionResourceType extend Lithic::Internal::Type::Enum diff --git a/lib/lithic/models/funding_event_list_response.rb b/lib/lithic/models/funding_event_list_response.rb deleted file mode 100644 index da79c69b..00000000 --- a/lib/lithic/models/funding_event_list_response.rb +++ /dev/null @@ -1,108 +0,0 @@ -# frozen_string_literal: true - -module Lithic - module Models - # @see Lithic::Resources::FundingEvents#list - class FundingEventListResponse < Lithic::Internal::Type::BaseModel - # @!attribute token - # Unique token ID - # - # @return [String] - required :token, String - - # @!attribute collection_resource_type - # Collection resource type - # - # @return [Symbol, Lithic::Models::FundingEventListResponse::CollectionResourceType] - required :collection_resource_type, - enum: -> { Lithic::Models::FundingEventListResponse::CollectionResourceType } - - # @!attribute collection_tokens - # IDs of collections, further information can be gathered from the appropriate - # collection API based on collection_resource_type - # - # @return [Array] - required :collection_tokens, Lithic::Internal::Type::ArrayOf[String] - - # @!attribute created - # Time of the creation - # - # @return [Time] - required :created, Time - - # @!attribute high_watermark - # Time of the high watermark - # - # @return [Time] - required :high_watermark, Time - - # @!attribute network_settlement_summary - # Network settlement summary breakdown by network settlement date - # - # @return [Array] - required :network_settlement_summary, - -> { Lithic::Internal::Type::ArrayOf[Lithic::Models::FundingEventListResponse::NetworkSettlementSummary] } - - # @!attribute previous_high_watermark - # Time of the previous high watermark - # - # @return [Time] - required :previous_high_watermark, Time - - # @!attribute updated - # Time of the update - # - # @return [Time] - required :updated, Time - - # @!method initialize(token:, collection_resource_type:, collection_tokens:, created:, high_watermark:, network_settlement_summary:, previous_high_watermark:, updated:) - # Some parameter documentations has been truncated, see - # {Lithic::Models::FundingEventListResponse} for more details. - # - # @param token [String] Unique token ID - # - # @param collection_resource_type [Symbol, Lithic::Models::FundingEventListResponse::CollectionResourceType] Collection resource type - # - # @param collection_tokens [Array] IDs of collections, further information can be gathered from the appropriate col - # - # @param created [Time] Time of the creation - # - # @param high_watermark [Time] Time of the high watermark - # - # @param network_settlement_summary [Array] Network settlement summary breakdown by network settlement date - # - # @param previous_high_watermark [Time] Time of the previous high watermark - # - # @param updated [Time] Time of the update - - # Collection resource type - # - # @see Lithic::Models::FundingEventListResponse#collection_resource_type - module CollectionResourceType - extend Lithic::Internal::Type::Enum - - BOOK_TRANSFER = :BOOK_TRANSFER - PAYMENT = :PAYMENT - - # @!method self.values - # @return [Array] - end - - class NetworkSettlementSummary < Lithic::Internal::Type::BaseModel - # @!attribute network_settlement_date - # - # @return [Date] - required :network_settlement_date, Date - - # @!attribute settled_gross_amount - # - # @return [Integer] - required :settled_gross_amount, Integer - - # @!method initialize(network_settlement_date:, settled_gross_amount:) - # @param network_settlement_date [Date] - # @param settled_gross_amount [Integer] - end - end - end -end diff --git a/lib/lithic/models/internal_transaction.rb b/lib/lithic/models/internal_transaction.rb new file mode 100644 index 00000000..979642e7 --- /dev/null +++ b/lib/lithic/models/internal_transaction.rb @@ -0,0 +1,166 @@ +# frozen_string_literal: true + +module Lithic + module Models + class InternalTransactionAPI < Lithic::Internal::Type::BaseModel + # @!attribute token + # + # @return [String] + required :token, String + + # @!attribute category + # + # @return [Symbol, Lithic::Models::InternalTransactionAPI::Category] + required :category, enum: -> { Lithic::InternalTransactionAPI::Category } + + # @!attribute created + # + # @return [Time] + required :created, Time + + # @!attribute currency + # + # @return [String] + required :currency, String + + # @!attribute descriptor + # + # @return [String] + required :descriptor, String + + # @!attribute events + # + # @return [Array] + required :events, -> { Lithic::Internal::Type::ArrayOf[Lithic::InternalTransactionAPI::Event] } + + # @!attribute pending_amount + # + # @return [Integer] + required :pending_amount, Integer + + # @!attribute result + # + # @return [Symbol, Lithic::Models::InternalTransactionAPI::Result] + required :result, enum: -> { Lithic::InternalTransactionAPI::Result } + + # @!attribute settled_amount + # + # @return [Integer] + required :settled_amount, Integer + + # @!attribute status + # + # @return [Symbol, Lithic::Models::InternalTransactionAPI::Status] + required :status, enum: -> { Lithic::InternalTransactionAPI::Status } + + # @!attribute updated + # + # @return [Time] + required :updated, Time + + # @!method initialize(token:, category:, created:, currency:, descriptor:, events:, pending_amount:, result:, settled_amount:, status:, updated:) + # @param token [String] + # @param category [Symbol, Lithic::Models::InternalTransactionAPI::Category] + # @param created [Time] + # @param currency [String] + # @param descriptor [String] + # @param events [Array] + # @param pending_amount [Integer] + # @param result [Symbol, Lithic::Models::InternalTransactionAPI::Result] + # @param settled_amount [Integer] + # @param status [Symbol, Lithic::Models::InternalTransactionAPI::Status] + # @param updated [Time] + + # @see Lithic::Models::InternalTransactionAPI#category + module Category + extend Lithic::Internal::Type::Enum + + INTERNAL = :INTERNAL + + # @!method self.values + # @return [Array] + end + + class Event < Lithic::Internal::Type::BaseModel + # @!attribute token + # + # @return [String] + required :token, String + + # @!attribute amount + # + # @return [Integer] + required :amount, Integer + + # @!attribute created + # + # @return [Time] + required :created, Time + + # @!attribute result + # + # @return [Symbol, Lithic::Models::InternalTransactionAPI::Event::Result] + required :result, enum: -> { Lithic::InternalTransactionAPI::Event::Result } + + # @!attribute type + # + # @return [Symbol, Lithic::Models::InternalTransactionAPI::Event::Type] + required :type, enum: -> { Lithic::InternalTransactionAPI::Event::Type } + + # @!method initialize(token:, amount:, created:, result:, type:) + # @param token [String] + # @param amount [Integer] + # @param created [Time] + # @param result [Symbol, Lithic::Models::InternalTransactionAPI::Event::Result] + # @param type [Symbol, Lithic::Models::InternalTransactionAPI::Event::Type] + + # @see Lithic::Models::InternalTransactionAPI::Event#result + module Result + extend Lithic::Internal::Type::Enum + + APPROVED = :APPROVED + DECLINED = :DECLINED + + # @!method self.values + # @return [Array] + end + + # @see Lithic::Models::InternalTransactionAPI::Event#type + module Type + extend Lithic::Internal::Type::Enum + + INTERNAL_ADJUSTMENT = :INTERNAL_ADJUSTMENT + + # @!method self.values + # @return [Array] + end + end + + # @see Lithic::Models::InternalTransactionAPI#result + module Result + extend Lithic::Internal::Type::Enum + + APPROVED = :APPROVED + DECLINED = :DECLINED + + # @!method self.values + # @return [Array] + end + + # @see Lithic::Models::InternalTransactionAPI#status + module Status + extend Lithic::Internal::Type::Enum + + PENDING = :PENDING + SETTLED = :SETTLED + DECLINED = :DECLINED + REVERSED = :REVERSED + CANCELED = :CANCELED + RETURNED = :RETURNED + + # @!method self.values + # @return [Array] + end + end + end +end diff --git a/lib/lithic/models/management_operation_create_params.rb b/lib/lithic/models/management_operation_create_params.rb index 1a60e7ae..c3720df5 100644 --- a/lib/lithic/models/management_operation_create_params.rb +++ b/lib/lithic/models/management_operation_create_params.rb @@ -133,6 +133,12 @@ module EventType DISPUTE_WON_REVERSAL = :DISPUTE_WON_REVERSAL DISBURSE = :DISBURSE DISBURSE_REVERSAL = :DISBURSE_REVERSAL + ANNUAL = :ANNUAL + ANNUAL_REVERSAL = :ANNUAL_REVERSAL + QUARTERLY = :QUARTERLY + QUARTERLY_REVERSAL = :QUARTERLY_REVERSAL + MONTHLY = :MONTHLY + MONTHLY_REVERSAL = :MONTHLY_REVERSAL # @!method self.values # @return [Array] diff --git a/lib/lithic/models/management_operation_transaction.rb b/lib/lithic/models/management_operation_transaction.rb index 35d9b204..fc172b33 100644 --- a/lib/lithic/models/management_operation_transaction.rb +++ b/lib/lithic/models/management_operation_transaction.rb @@ -271,6 +271,12 @@ module Type DISPUTE_WON_REVERSAL = :DISPUTE_WON_REVERSAL DISBURSE = :DISBURSE DISBURSE_REVERSAL = :DISBURSE_REVERSAL + ANNUAL = :ANNUAL + ANNUAL_REVERSAL = :ANNUAL_REVERSAL + QUARTERLY = :QUARTERLY + QUARTERLY_REVERSAL = :QUARTERLY_REVERSAL + MONTHLY = :MONTHLY + MONTHLY_REVERSAL = :MONTHLY_REVERSAL # @!method self.values # @return [Array] diff --git a/lib/lithic/models/network_total.rb b/lib/lithic/models/network_total.rb new file mode 100644 index 00000000..81219f68 --- /dev/null +++ b/lib/lithic/models/network_total.rb @@ -0,0 +1,169 @@ +# frozen_string_literal: true + +module Lithic + module Models + class NetworkTotal < Lithic::Internal::Type::BaseModel + # @!attribute token + # Globally unique identifier. + # + # @return [String] + required :token, String + + # @!attribute amounts + # + # @return [Lithic::Models::NetworkTotal::Amounts] + required :amounts, -> { Lithic::NetworkTotal::Amounts } + + # @!attribute created + # RFC 3339 timestamp for when the record was created. UTC time zone. + # + # @return [Time] + required :created, Time + + # @!attribute currency + # 3-character alphabetic ISO 4217 code. + # + # @return [String] + required :currency, String + + # @!attribute institution_id + # The institution that activity occurred on. For Mastercard: ICA (Interbank Card + # Association). For Maestro: institution ID. For Visa: lowest level SRE + # (Settlement Reporting Entity). + # + # @return [String] + required :institution_id, String + + # @!attribute is_complete + # Indicates that all settlement records related to this Network Total are + # available in the details endpoint. + # + # @return [Boolean] + required :is_complete, Lithic::Internal::Type::Boolean + + # @!attribute network + # Card network where the transaction took place. AMEX, VISA, MASTERCARD, MAESTRO, + # or INTERLINK. + # + # @return [Symbol, Lithic::Models::NetworkTotal::Network] + required :network, enum: -> { Lithic::NetworkTotal::Network } + + # @!attribute report_date + # Date that the network total record applies to. YYYY-MM-DD format. + # + # @return [Date] + required :report_date, Date + + # @!attribute settlement_institution_id + # The institution responsible for settlement. For Mastercard: same as + # `institution_id`. For Maestro: billing ICA. For Visa: Funds Transfer SRE + # (FTSRE). + # + # @return [String] + required :settlement_institution_id, String + + # @!attribute settlement_service + # Settlement service. + # + # @return [String] + required :settlement_service, String + + # @!attribute updated + # RFC 3339 timestamp for when the record was last updated. UTC time zone. + # + # @return [Time] + required :updated, Time + + # @!attribute cycle + # The clearing cycle that the network total record applies to. Mastercard only. + # + # @return [Integer, nil] + optional :cycle, Integer + + # @!method initialize(token:, amounts:, created:, currency:, institution_id:, is_complete:, network:, report_date:, settlement_institution_id:, settlement_service:, updated:, cycle: nil) + # Some parameter documentations has been truncated, see + # {Lithic::Models::NetworkTotal} for more details. + # + # @param token [String] Globally unique identifier. + # + # @param amounts [Lithic::Models::NetworkTotal::Amounts] + # + # @param created [Time] RFC 3339 timestamp for when the record was created. UTC time zone. + # + # @param currency [String] 3-character alphabetic ISO 4217 code. + # + # @param institution_id [String] The institution that activity occurred on. For Mastercard: ICA (Interbank Card A + # + # @param is_complete [Boolean] Indicates that all settlement records related to this Network Total are availabl + # + # @param network [Symbol, Lithic::Models::NetworkTotal::Network] Card network where the transaction took place. AMEX, VISA, MASTERCARD, MAESTRO, + # + # @param report_date [Date] Date that the network total record applies to. YYYY-MM-DD format. + # + # @param settlement_institution_id [String] The institution responsible for settlement. For Mastercard: same as `institution + # + # @param settlement_service [String] Settlement service. + # + # @param updated [Time] RFC 3339 timestamp for when the record was last updated. UTC time zone. + # + # @param cycle [Integer] The clearing cycle that the network total record applies to. Mastercard only. + + # @see Lithic::Models::NetworkTotal#amounts + class Amounts < Lithic::Internal::Type::BaseModel + # @!attribute gross_settlement + # Total settlement amount excluding interchange, in currency's smallest unit. + # + # @return [Integer] + required :gross_settlement, Integer + + # @!attribute interchange_fees + # Interchange amount, in currency's smallest unit. + # + # @return [Integer] + required :interchange_fees, Integer + + # @!attribute net_settlement + # `gross_settlement` net of `interchange_fees` and `visa_charges` (if applicable), + # in currency's smallest unit. + # + # @return [Integer] + required :net_settlement, Integer + + # @!attribute visa_charges + # Charges specific to Visa/Interlink, in currency's smallest unit. + # + # @return [Integer, nil] + optional :visa_charges, Integer + + # @!method initialize(gross_settlement:, interchange_fees:, net_settlement:, visa_charges: nil) + # Some parameter documentations has been truncated, see + # {Lithic::Models::NetworkTotal::Amounts} for more details. + # + # @param gross_settlement [Integer] Total settlement amount excluding interchange, in currency's smallest unit. + # + # @param interchange_fees [Integer] Interchange amount, in currency's smallest unit. + # + # @param net_settlement [Integer] `gross_settlement` net of `interchange_fees` and `visa_charges` (if applicable), + # + # @param visa_charges [Integer] Charges specific to Visa/Interlink, in currency's smallest unit. + end + + # Card network where the transaction took place. AMEX, VISA, MASTERCARD, MAESTRO, + # or INTERLINK. + # + # @see Lithic::Models::NetworkTotal#network + module Network + extend Lithic::Internal::Type::Enum + + AMEX = :AMEX + VISA = :VISA + MASTERCARD = :MASTERCARD + MAESTRO = :MAESTRO + INTERLINK = :INTERLINK + + # @!method self.values + # @return [Array] + end + end + end +end diff --git a/lib/lithic/models/non_pci_card.rb b/lib/lithic/models/non_pci_card.rb index 127e41f3..4a444fe3 100644 --- a/lib/lithic/models/non_pci_card.rb +++ b/lib/lithic/models/non_pci_card.rb @@ -117,6 +117,13 @@ class NonPCICard < Lithic::Internal::Type::BaseModel # @return [Array, nil] optional :auth_rule_tokens, Lithic::Internal::Type::ArrayOf[String] + # @!attribute bulk_order_token + # Globally unique identifier for the bulk order associated with this card. Only + # applicable to physical cards that are part of a bulk shipment + # + # @return [String, nil] + optional :bulk_order_token, String, nil?: true + # @!attribute cardholder_currency # 3-character alphabetic ISO 4217 code for the currency of the cardholder. # @@ -217,7 +224,7 @@ class NonPCICard < Lithic::Internal::Type::BaseModel # @return [Symbol, Lithic::Models::NonPCICard::Substatus, nil] optional :substatus, enum: -> { Lithic::NonPCICard::Substatus } - # @!method initialize(token:, account_token:, card_program_token:, created:, funding:, last_four:, pin_status:, spend_limit:, spend_limit_duration:, state:, type:, auth_rule_tokens: nil, cardholder_currency: nil, comment: nil, digital_card_art_token: nil, exp_month: nil, exp_year: nil, hostname: nil, memo: nil, network_program_token: nil, pending_commands: nil, product_id: nil, replacement_for: nil, substatus: nil) + # @!method initialize(token:, account_token:, card_program_token:, created:, funding:, last_four:, pin_status:, spend_limit:, spend_limit_duration:, state:, type:, auth_rule_tokens: nil, bulk_order_token: nil, cardholder_currency: nil, comment: nil, digital_card_art_token: nil, exp_month: nil, exp_year: nil, hostname: nil, memo: nil, network_program_token: nil, pending_commands: nil, product_id: nil, replacement_for: nil, substatus: nil) # Some parameter documentations has been truncated, see # {Lithic::Models::NonPCICard} for more details. # @@ -249,6 +256,8 @@ class NonPCICard < Lithic::Internal::Type::BaseModel # # @param auth_rule_tokens [Array] List of identifiers for the Auth Rule(s) that are applied on the card. This fiel # + # @param bulk_order_token [String, nil] Globally unique identifier for the bulk order associated with this card. Only ap + # # @param cardholder_currency [String] 3-character alphabetic ISO 4217 code for the currency of the cardholder. # # @param comment [String] Additional context or information related to the card. diff --git a/lib/lithic/models/payment.rb b/lib/lithic/models/payment.rb index 71f861b4..53af3a40 100644 --- a/lib/lithic/models/payment.rb +++ b/lib/lithic/models/payment.rb @@ -198,6 +198,8 @@ module Category CARD = :CARD EXTERNAL_ACH = :EXTERNAL_ACH EXTERNAL_CHECK = :EXTERNAL_CHECK + EXTERNAL_FEDNOW = :EXTERNAL_FEDNOW + EXTERNAL_RTP = :EXTERNAL_RTP EXTERNAL_TRANSFER = :EXTERNAL_TRANSFER EXTERNAL_WIRE = :EXTERNAL_WIRE MANAGEMENT_ADJUSTMENT = :MANAGEMENT_ADJUSTMENT @@ -414,6 +416,12 @@ class ACHMethodAttributes < Lithic::Internal::Type::BaseModel # @return [Symbol, Lithic::Models::Payment::MethodAttributes::ACHMethodAttributes::SecCode] required :sec_code, enum: -> { Lithic::Payment::MethodAttributes::ACHMethodAttributes::SecCode } + # @!attribute ach_hold_period + # Number of days the ACH transaction is on hold + # + # @return [Integer, nil] + optional :ach_hold_period, Integer, nil?: true + # @!attribute addenda # Addenda information # @@ -450,9 +458,11 @@ class ACHMethodAttributes < Lithic::Internal::Type::BaseModel # @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) + # @!method initialize(sec_code:, ach_hold_period: nil, addenda: nil, company_id: nil, receipt_routing_number: nil, retries: nil, return_reason_code: nil, trace_numbers: nil) # @param sec_code [Symbol, Lithic::Models::Payment::MethodAttributes::ACHMethodAttributes::SecCode] SEC code for ACH transaction # + # @param ach_hold_period [Integer, nil] Number of days the ACH transaction is on hold + # # @param addenda [String, nil] Addenda information # # @param company_id [String, nil] Company ID for the ACH transaction diff --git a/lib/lithic/models/payment_create_params.rb b/lib/lithic/models/payment_create_params.rb index 43960823..ee1ae3a5 100644 --- a/lib/lithic/models/payment_create_params.rb +++ b/lib/lithic/models/payment_create_params.rb @@ -94,13 +94,22 @@ class MethodAttributes < Lithic::Internal::Type::BaseModel # @return [Symbol, Lithic::Models::PaymentCreateParams::MethodAttributes::SecCode] required :sec_code, enum: -> { Lithic::PaymentCreateParams::MethodAttributes::SecCode } + # @!attribute ach_hold_period + # Number of days to hold the ACH payment + # + # @return [Integer, nil] + optional :ach_hold_period, Integer, api_name: :ach_hold__period + # @!attribute addenda # # @return [String, nil] optional :addenda, String, nil?: true - # @!method initialize(sec_code:, addenda: nil) + # @!method initialize(sec_code:, ach_hold_period: nil, addenda: nil) # @param sec_code [Symbol, Lithic::Models::PaymentCreateParams::MethodAttributes::SecCode] + # + # @param ach_hold_period [Integer] Number of days to hold the ACH payment + # # @param addenda [String, nil] # @see Lithic::Models::PaymentCreateParams::MethodAttributes#sec_code diff --git a/lib/lithic/models/reports/settlement/network_total_list_response.rb b/lib/lithic/models/reports/settlement/network_total_list_response.rb deleted file mode 100644 index de6a0f40..00000000 --- a/lib/lithic/models/reports/settlement/network_total_list_response.rb +++ /dev/null @@ -1,176 +0,0 @@ -# frozen_string_literal: true - -module Lithic - module Models - module Reports - module Settlement - # @see Lithic::Resources::Reports::Settlement::NetworkTotals#list - class NetworkTotalListResponse < Lithic::Internal::Type::BaseModel - # @!attribute token - # Globally unique identifier. - # - # @return [String] - required :token, String - - # @!attribute amounts - # - # @return [Lithic::Models::Reports::Settlement::NetworkTotalListResponse::Amounts] - required :amounts, -> { Lithic::Models::Reports::Settlement::NetworkTotalListResponse::Amounts } - - # @!attribute created - # RFC 3339 timestamp for when the record was created. UTC time zone. - # - # @return [Time] - required :created, Time - - # @!attribute currency - # 3-character alphabetic ISO 4217 code. - # - # @return [String] - required :currency, String - - # @!attribute institution_id - # The institution that activity occurred on. For Mastercard: ICA (Interbank Card - # Association). For Maestro: institution ID. For Visa: lowest level SRE - # (Settlement Reporting Entity). - # - # @return [String] - required :institution_id, String - - # @!attribute is_complete - # Indicates that all settlement records related to this Network Total are - # available in the details endpoint. - # - # @return [Boolean] - required :is_complete, Lithic::Internal::Type::Boolean - - # @!attribute network - # Card network where the transaction took place. AMEX, VISA, MASTERCARD, MAESTRO, - # or INTERLINK. - # - # @return [Symbol, Lithic::Models::Reports::Settlement::NetworkTotalListResponse::Network] - required :network, enum: -> { Lithic::Models::Reports::Settlement::NetworkTotalListResponse::Network } - - # @!attribute report_date - # Date that the network total record applies to. YYYY-MM-DD format. - # - # @return [Date] - required :report_date, Date - - # @!attribute settlement_institution_id - # The institution responsible for settlement. For Mastercard: same as - # `institution_id`. For Maestro: billing ICA. For Visa: Funds Transfer SRE - # (FTSRE). - # - # @return [String] - required :settlement_institution_id, String - - # @!attribute settlement_service - # Settlement service. - # - # @return [String] - required :settlement_service, String - - # @!attribute updated - # RFC 3339 timestamp for when the record was last updated. UTC time zone. - # - # @return [Time] - required :updated, Time - - # @!attribute cycle - # The clearing cycle that the network total record applies to. Mastercard only. - # - # @return [Integer, nil] - optional :cycle, Integer - - # @!method initialize(token:, amounts:, created:, currency:, institution_id:, is_complete:, network:, report_date:, settlement_institution_id:, settlement_service:, updated:, cycle: nil) - # Some parameter documentations has been truncated, see - # {Lithic::Models::Reports::Settlement::NetworkTotalListResponse} for more - # details. - # - # @param token [String] Globally unique identifier. - # - # @param amounts [Lithic::Models::Reports::Settlement::NetworkTotalListResponse::Amounts] - # - # @param created [Time] RFC 3339 timestamp for when the record was created. UTC time zone. - # - # @param currency [String] 3-character alphabetic ISO 4217 code. - # - # @param institution_id [String] The institution that activity occurred on. For Mastercard: ICA (Interbank Card A - # - # @param is_complete [Boolean] Indicates that all settlement records related to this Network Total are availabl - # - # @param network [Symbol, Lithic::Models::Reports::Settlement::NetworkTotalListResponse::Network] Card network where the transaction took place. AMEX, VISA, MASTERCARD, MAESTRO, - # - # @param report_date [Date] Date that the network total record applies to. YYYY-MM-DD format. - # - # @param settlement_institution_id [String] The institution responsible for settlement. For Mastercard: same as `institution - # - # @param settlement_service [String] Settlement service. - # - # @param updated [Time] RFC 3339 timestamp for when the record was last updated. UTC time zone. - # - # @param cycle [Integer] The clearing cycle that the network total record applies to. Mastercard only. - - # @see Lithic::Models::Reports::Settlement::NetworkTotalListResponse#amounts - class Amounts < Lithic::Internal::Type::BaseModel - # @!attribute gross_settlement - # Total settlement amount excluding interchange, in currency's smallest unit. - # - # @return [Integer] - required :gross_settlement, Integer - - # @!attribute interchange_fees - # Interchange amount, in currency's smallest unit. - # - # @return [Integer] - required :interchange_fees, Integer - - # @!attribute net_settlement - # `gross_settlement` net of `interchange_fees` and `visa_charges` (if applicable), - # in currency's smallest unit. - # - # @return [Integer] - required :net_settlement, Integer - - # @!attribute visa_charges - # Charges specific to Visa/Interlink, in currency's smallest unit. - # - # @return [Integer, nil] - optional :visa_charges, Integer - - # @!method initialize(gross_settlement:, interchange_fees:, net_settlement:, visa_charges: nil) - # Some parameter documentations has been truncated, see - # {Lithic::Models::Reports::Settlement::NetworkTotalListResponse::Amounts} for - # more details. - # - # @param gross_settlement [Integer] Total settlement amount excluding interchange, in currency's smallest unit. - # - # @param interchange_fees [Integer] Interchange amount, in currency's smallest unit. - # - # @param net_settlement [Integer] `gross_settlement` net of `interchange_fees` and `visa_charges` (if applicable), - # - # @param visa_charges [Integer] Charges specific to Visa/Interlink, in currency's smallest unit. - end - - # Card network where the transaction took place. AMEX, VISA, MASTERCARD, MAESTRO, - # or INTERLINK. - # - # @see Lithic::Models::Reports::Settlement::NetworkTotalListResponse#network - module Network - extend Lithic::Internal::Type::Enum - - AMEX = :AMEX - VISA = :VISA - MASTERCARD = :MASTERCARD - MAESTRO = :MAESTRO - INTERLINK = :INTERLINK - - # @!method self.values - # @return [Array] - end - end - end - end - end -end diff --git a/lib/lithic/models/reports/settlement/network_total_retrieve_response.rb b/lib/lithic/models/reports/settlement/network_total_retrieve_response.rb deleted file mode 100644 index 42365479..00000000 --- a/lib/lithic/models/reports/settlement/network_total_retrieve_response.rb +++ /dev/null @@ -1,176 +0,0 @@ -# frozen_string_literal: true - -module Lithic - module Models - module Reports - module Settlement - # @see Lithic::Resources::Reports::Settlement::NetworkTotals#retrieve - class NetworkTotalRetrieveResponse < Lithic::Internal::Type::BaseModel - # @!attribute token - # Globally unique identifier. - # - # @return [String] - required :token, String - - # @!attribute amounts - # - # @return [Lithic::Models::Reports::Settlement::NetworkTotalRetrieveResponse::Amounts] - required :amounts, -> { Lithic::Models::Reports::Settlement::NetworkTotalRetrieveResponse::Amounts } - - # @!attribute created - # RFC 3339 timestamp for when the record was created. UTC time zone. - # - # @return [Time] - required :created, Time - - # @!attribute currency - # 3-character alphabetic ISO 4217 code. - # - # @return [String] - required :currency, String - - # @!attribute institution_id - # The institution that activity occurred on. For Mastercard: ICA (Interbank Card - # Association). For Maestro: institution ID. For Visa: lowest level SRE - # (Settlement Reporting Entity). - # - # @return [String] - required :institution_id, String - - # @!attribute is_complete - # Indicates that all settlement records related to this Network Total are - # available in the details endpoint. - # - # @return [Boolean] - required :is_complete, Lithic::Internal::Type::Boolean - - # @!attribute network - # Card network where the transaction took place. AMEX, VISA, MASTERCARD, MAESTRO, - # or INTERLINK. - # - # @return [Symbol, Lithic::Models::Reports::Settlement::NetworkTotalRetrieveResponse::Network] - required :network, enum: -> { Lithic::Models::Reports::Settlement::NetworkTotalRetrieveResponse::Network } - - # @!attribute report_date - # Date that the network total record applies to. YYYY-MM-DD format. - # - # @return [Date] - required :report_date, Date - - # @!attribute settlement_institution_id - # The institution responsible for settlement. For Mastercard: same as - # `institution_id`. For Maestro: billing ICA. For Visa: Funds Transfer SRE - # (FTSRE). - # - # @return [String] - required :settlement_institution_id, String - - # @!attribute settlement_service - # Settlement service. - # - # @return [String] - required :settlement_service, String - - # @!attribute updated - # RFC 3339 timestamp for when the record was last updated. UTC time zone. - # - # @return [Time] - required :updated, Time - - # @!attribute cycle - # The clearing cycle that the network total record applies to. Mastercard only. - # - # @return [Integer, nil] - optional :cycle, Integer - - # @!method initialize(token:, amounts:, created:, currency:, institution_id:, is_complete:, network:, report_date:, settlement_institution_id:, settlement_service:, updated:, cycle: nil) - # Some parameter documentations has been truncated, see - # {Lithic::Models::Reports::Settlement::NetworkTotalRetrieveResponse} for more - # details. - # - # @param token [String] Globally unique identifier. - # - # @param amounts [Lithic::Models::Reports::Settlement::NetworkTotalRetrieveResponse::Amounts] - # - # @param created [Time] RFC 3339 timestamp for when the record was created. UTC time zone. - # - # @param currency [String] 3-character alphabetic ISO 4217 code. - # - # @param institution_id [String] The institution that activity occurred on. For Mastercard: ICA (Interbank Card A - # - # @param is_complete [Boolean] Indicates that all settlement records related to this Network Total are availabl - # - # @param network [Symbol, Lithic::Models::Reports::Settlement::NetworkTotalRetrieveResponse::Network] Card network where the transaction took place. AMEX, VISA, MASTERCARD, MAESTRO, - # - # @param report_date [Date] Date that the network total record applies to. YYYY-MM-DD format. - # - # @param settlement_institution_id [String] The institution responsible for settlement. For Mastercard: same as `institution - # - # @param settlement_service [String] Settlement service. - # - # @param updated [Time] RFC 3339 timestamp for when the record was last updated. UTC time zone. - # - # @param cycle [Integer] The clearing cycle that the network total record applies to. Mastercard only. - - # @see Lithic::Models::Reports::Settlement::NetworkTotalRetrieveResponse#amounts - class Amounts < Lithic::Internal::Type::BaseModel - # @!attribute gross_settlement - # Total settlement amount excluding interchange, in currency's smallest unit. - # - # @return [Integer] - required :gross_settlement, Integer - - # @!attribute interchange_fees - # Interchange amount, in currency's smallest unit. - # - # @return [Integer] - required :interchange_fees, Integer - - # @!attribute net_settlement - # `gross_settlement` net of `interchange_fees` and `visa_charges` (if applicable), - # in currency's smallest unit. - # - # @return [Integer] - required :net_settlement, Integer - - # @!attribute visa_charges - # Charges specific to Visa/Interlink, in currency's smallest unit. - # - # @return [Integer, nil] - optional :visa_charges, Integer - - # @!method initialize(gross_settlement:, interchange_fees:, net_settlement:, visa_charges: nil) - # Some parameter documentations has been truncated, see - # {Lithic::Models::Reports::Settlement::NetworkTotalRetrieveResponse::Amounts} for - # more details. - # - # @param gross_settlement [Integer] Total settlement amount excluding interchange, in currency's smallest unit. - # - # @param interchange_fees [Integer] Interchange amount, in currency's smallest unit. - # - # @param net_settlement [Integer] `gross_settlement` net of `interchange_fees` and `visa_charges` (if applicable), - # - # @param visa_charges [Integer] Charges specific to Visa/Interlink, in currency's smallest unit. - end - - # Card network where the transaction took place. AMEX, VISA, MASTERCARD, MAESTRO, - # or INTERLINK. - # - # @see Lithic::Models::Reports::Settlement::NetworkTotalRetrieveResponse#network - module Network - extend Lithic::Internal::Type::Enum - - AMEX = :AMEX - VISA = :VISA - MASTERCARD = :MASTERCARD - MAESTRO = :MAESTRO - INTERLINK = :INTERLINK - - # @!method self.values - # @return [Array] - end - end - end - end - end -end diff --git a/lib/lithic/models/three_ds/authentication_retrieve_response.rb b/lib/lithic/models/three_ds/authentication_retrieve_response.rb deleted file mode 100644 index 483765d3..00000000 --- a/lib/lithic/models/three_ds/authentication_retrieve_response.rb +++ /dev/null @@ -1,1288 +0,0 @@ -# frozen_string_literal: true - -module Lithic - module Models - module ThreeDS - # @see Lithic::Resources::ThreeDS::Authentication#retrieve - class AuthenticationRetrieveResponse < Lithic::Internal::Type::BaseModel - # @!attribute token - # Globally unique identifier for the 3DS authentication. Permitted values: - # 36-digit version 4 UUID (including hyphens). - # - # @return [String] - required :token, String - - # @!attribute account_type - # Type of account/card that is being used for the transaction. Maps to EMV 3DS - # field `acctType`. - # - # @return [Symbol, Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::AccountType, nil] - required :account_type, - enum: -> { Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::AccountType }, - nil?: true - - # @!attribute authentication_result - # Indicates the outcome of the 3DS authentication process. - # - # @return [Symbol, Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::AuthenticationResult] - required :authentication_result, - enum: -> { Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::AuthenticationResult } - - # @!attribute card_expiry_check - # Indicates whether the expiration date provided by the cardholder during checkout - # matches Lithic's record of the card's expiration date. - # - # @return [Symbol, Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::CardExpiryCheck] - required :card_expiry_check, - enum: -> { Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::CardExpiryCheck } - - # @!attribute card_token - # Globally unique identifier for the card on which the 3DS authentication has - # occurred. Permitted values: 36-digit version 4 UUID (including hyphens). - # - # @return [String] - required :card_token, String - - # @!attribute cardholder - # Object containing data about the cardholder provided during the transaction. - # - # @return [Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Cardholder] - required :cardholder, -> { Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Cardholder } - - # @!attribute channel - # Channel in which the authentication occurs. Maps to EMV 3DS field - # `deviceChannel`. - # - # @return [Symbol, Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Channel] - required :channel, enum: -> { Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Channel } - - # @!attribute created - # Date and time when the authentication was created in Lithic's system. Permitted - # values: Date string in the ISO 8601 format yyyy-MM-dd'T'hh:mm:ssZ. - # - # @return [Time] - required :created, Time - - # @!attribute merchant - # Object containing data about the merchant involved in the e-commerce - # transaction. - # - # @return [Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Merchant] - required :merchant, -> { Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Merchant } - - # @!attribute message_category - # Either PAYMENT_AUTHENTICATION or NON_PAYMENT_AUTHENTICATION. For - # NON_PAYMENT_AUTHENTICATION, additional_data and transaction fields are not - # populated. - # - # @return [Symbol, Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::MessageCategory] - required :message_category, - enum: -> { Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::MessageCategory } - - # @!attribute three_ds_requestor_challenge_indicator - # Indicates whether a challenge is requested for this transaction - # - # - `NO_PREFERENCE` - No Preference - # - `NO_CHALLENGE_REQUESTED` - No Challenge Requested - # - `CHALLENGE_PREFERENCE` - Challenge requested (3DS Requestor preference) - # - `CHALLENGE_MANDATE` - Challenge requested (Mandate) - # - `NO_CHALLENGE_RISK_ALREADY_ASSESSED` - No Challenge requested (Transactional - # risk analysis is already performed) - # - `DATA_SHARE_ONLY` - No Challenge requested (Data Share Only) - # - `OTHER` - Other indicators not captured by above. These are rarely used - # - # @return [Symbol, Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::ThreeDSRequestorChallengeIndicator] - required :three_ds_requestor_challenge_indicator, - enum: -> { Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::ThreeDSRequestorChallengeIndicator } - - # @!attribute additional_data - # Object containing additional data about the 3DS request that is beyond the EMV - # 3DS standard spec (e.g., specific fields that only certain card networks send - # but are not required across all 3DS requests). - # - # @return [Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::AdditionalData, nil] - optional :additional_data, - -> { Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::AdditionalData }, - nil?: true - - # @!attribute app - # Object containing data about the app used in the e-commerce transaction. Present - # if the channel is 'APP_BASED'. - # - # @return [Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::App, nil] - optional :app, -> { Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::App }, nil?: true - - # @!attribute authentication_request_type - # Type of authentication request - i.e., the type of transaction or interaction is - # causing the merchant to request an authentication. Maps to EMV 3DS field - # `threeDSRequestorAuthenticationInd`. - # - # @return [Symbol, Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::AuthenticationRequestType, nil] - optional :authentication_request_type, - enum: -> { Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::AuthenticationRequestType }, - nil?: true - - # @!attribute browser - # Object containing data about the browser used in the e-commerce transaction. - # Present if the channel is 'BROWSER'. - # - # @return [Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Browser, nil] - optional :browser, -> { Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Browser }, nil?: true - - # @!attribute challenge_metadata - # Metadata about the challenge method and delivery. Only present when a challenge - # is triggered. - # - # @return [Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::ChallengeMetadata, nil] - optional :challenge_metadata, - -> { Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::ChallengeMetadata }, - nil?: true - - # @!attribute challenge_orchestrated_by - # Entity that orchestrates the challenge. This won't be set for authentications - # for which a decision has not yet been made (e.g. in-flight customer decisioning - # request). - # - # @return [Symbol, Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::ChallengeOrchestratedBy, nil] - optional :challenge_orchestrated_by, - enum: -> { Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::ChallengeOrchestratedBy }, - nil?: true - - # @!attribute decision_made_by - # Entity that made the authentication decision. This won't be set for - # authentications for which a decision has not yet been made (e.g. in-flight - # customer decisioning request). - # - # @return [Symbol, Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::DecisionMadeBy, nil] - optional :decision_made_by, - enum: -> { Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::DecisionMadeBy }, - nil?: true - - # @!attribute three_ri_request_type - # Type of 3DS Requestor Initiated (3RI) request — i.e., a 3DS authentication that - # takes place at the initiation of the merchant rather than the cardholder. The - # most common example of this is where a merchant is authenticating before billing - # for a recurring transaction such as a pay TV subscription or a utility bill. - # Maps to EMV 3DS field `threeRIInd`. - # - # @return [Symbol, Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::ThreeRiRequestType, nil] - optional :three_ri_request_type, - enum: -> { Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::ThreeRiRequestType }, - nil?: true - - # @!attribute transaction - # Object containing data about the e-commerce transaction for which the merchant - # is requesting authentication. - # - # @return [Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Transaction, nil] - optional :transaction, - -> { Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Transaction }, - nil?: true - - # @!method initialize(token:, account_type:, authentication_result:, card_expiry_check:, card_token:, cardholder:, channel:, created:, merchant:, message_category:, three_ds_requestor_challenge_indicator:, additional_data: nil, app: nil, authentication_request_type: nil, browser: nil, challenge_metadata: nil, challenge_orchestrated_by: nil, decision_made_by: nil, three_ri_request_type: nil, transaction: nil) - # Some parameter documentations has been truncated, see - # {Lithic::Models::ThreeDS::AuthenticationRetrieveResponse} for more details. - # - # Represents a 3DS authentication - # - # @param token [String] Globally unique identifier for the 3DS authentication. Permitted values: 36-digi - # - # @param account_type [Symbol, Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::AccountType, nil] Type of account/card that is being used for the transaction. Maps to EMV 3DS fie - # - # @param authentication_result [Symbol, Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::AuthenticationResult] Indicates the outcome of the 3DS authentication process. - # - # @param card_expiry_check [Symbol, Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::CardExpiryCheck] Indicates whether the expiration date provided by the cardholder during checkout - # - # @param card_token [String] Globally unique identifier for the card on which the 3DS authentication has occu - # - # @param cardholder [Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Cardholder] Object containing data about the cardholder provided during the transaction. - # - # @param channel [Symbol, Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Channel] Channel in which the authentication occurs. Maps to EMV 3DS field `deviceChannel - # - # @param created [Time] Date and time when the authentication was created in Lithic's system. Permitted - # - # @param merchant [Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Merchant] Object containing data about the merchant involved in the e-commerce transaction - # - # @param message_category [Symbol, Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::MessageCategory] Either PAYMENT_AUTHENTICATION or NON_PAYMENT_AUTHENTICATION. For NON_PAYMENT_AUT - # - # @param three_ds_requestor_challenge_indicator [Symbol, Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::ThreeDSRequestorChallengeIndicator] Indicates whether a challenge is requested for this transaction - # - # @param additional_data [Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::AdditionalData, nil] Object containing additional data about the 3DS request that is beyond the EMV 3 - # - # @param app [Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::App, nil] Object containing data about the app used in the e-commerce transaction. Present - # - # @param authentication_request_type [Symbol, Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::AuthenticationRequestType, nil] Type of authentication request - i.e., the type of transaction or interaction is - # - # @param browser [Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Browser, nil] Object containing data about the browser used in the e-commerce transaction. Pre - # - # @param challenge_metadata [Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::ChallengeMetadata, nil] Metadata about the challenge method and delivery. Only present when a challenge - # - # @param challenge_orchestrated_by [Symbol, Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::ChallengeOrchestratedBy, nil] Entity that orchestrates the challenge. This won't be set for authentications fo - # - # @param decision_made_by [Symbol, Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::DecisionMadeBy, nil] Entity that made the authentication decision. This won't be set for authenticati - # - # @param three_ri_request_type [Symbol, Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::ThreeRiRequestType, nil] Type of 3DS Requestor Initiated (3RI) request — i.e., a 3DS authentication that - # - # @param transaction [Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Transaction, nil] Object containing data about the e-commerce transaction for which the merchant i - - # Type of account/card that is being used for the transaction. Maps to EMV 3DS - # field `acctType`. - # - # @see Lithic::Models::ThreeDS::AuthenticationRetrieveResponse#account_type - module AccountType - extend Lithic::Internal::Type::Enum - - CREDIT = :CREDIT - DEBIT = :DEBIT - NOT_APPLICABLE = :NOT_APPLICABLE - - # @!method self.values - # @return [Array] - end - - # Indicates the outcome of the 3DS authentication process. - # - # @see Lithic::Models::ThreeDS::AuthenticationRetrieveResponse#authentication_result - module AuthenticationResult - extend Lithic::Internal::Type::Enum - - DECLINE = :DECLINE - SUCCESS = :SUCCESS - PENDING_CHALLENGE = :PENDING_CHALLENGE - PENDING_DECISION = :PENDING_DECISION - - # @!method self.values - # @return [Array] - end - - # Indicates whether the expiration date provided by the cardholder during checkout - # matches Lithic's record of the card's expiration date. - # - # @see Lithic::Models::ThreeDS::AuthenticationRetrieveResponse#card_expiry_check - module CardExpiryCheck - extend Lithic::Internal::Type::Enum - - MATCH = :MATCH - MISMATCH = :MISMATCH - NOT_PRESENT = :NOT_PRESENT - - # @!method self.values - # @return [Array] - end - - # @see Lithic::Models::ThreeDS::AuthenticationRetrieveResponse#cardholder - class Cardholder < Lithic::Internal::Type::BaseModel - # @!attribute address_match - # Indicates whether the shipping address and billing address provided by the - # cardholder are the same. This value - and assessment of whether the addresses - # match - is provided directly in the 3DS request and is not determined by Lithic. - # Maps to EMV 3DS field `addrMatch`. - # - # @return [Boolean, nil] - optional :address_match, Lithic::Internal::Type::Boolean, nil?: true - - # @!attribute address_on_file_match - # Lithic's evaluation result comparing the transaction's address data with the - # cardholder KYC data if it exists. In the event Lithic does not have any - # Cardholder KYC data, or the transaction does not contain any address data, - # NOT_PRESENT will be returned - # - # @return [Symbol, Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Cardholder::AddressOnFileMatch, nil] - optional :address_on_file_match, - enum: -> { Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Cardholder::AddressOnFileMatch } - - # @!attribute billing_address - # Object containing data on the billing address provided during the transaction. - # - # @return [Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Cardholder::BillingAddress, nil] - optional :billing_address, - -> { Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Cardholder::BillingAddress } - - # @!attribute email - # Email address that is either provided by the cardholder or is on file with the - # merchant in a 3RI request. Maps to EMV 3DS field `email`. - # - # @return [String, nil] - optional :email, String, nil?: true - - # @!attribute name - # Name of the cardholder. Maps to EMV 3DS field `cardholderName`. - # - # @return [String, nil] - optional :name, String, nil?: true - - # @!attribute phone_number_home - # Home phone number in E.164 format provided by the cardholder. Maps to EMV 3DS - # fields `homePhone.cc` and `homePhone.subscriber`. - # - # @return [String, nil] - optional :phone_number_home, String, nil?: true - - # @!attribute phone_number_mobile - # Mobile/cell phone number in E.164 format provided by the cardholder. Maps to EMV - # 3DS fields `mobilePhone.cc` and `mobilePhone.subscriber`. - # - # @return [String, nil] - optional :phone_number_mobile, String, nil?: true - - # @!attribute phone_number_work - # Work phone number in E.164 format provided by the cardholder. Maps to EMV 3DS - # fields `workPhone.cc` and `workPhone.subscriber`. - # - # @return [String, nil] - optional :phone_number_work, String, nil?: true - - # @!attribute shipping_address - # Object containing data on the shipping address provided during the transaction. - # - # @return [Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Cardholder::ShippingAddress, nil] - optional :shipping_address, - -> { Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Cardholder::ShippingAddress } - - # @!method initialize(address_match: nil, address_on_file_match: nil, billing_address: nil, email: nil, name: nil, phone_number_home: nil, phone_number_mobile: nil, phone_number_work: nil, shipping_address: nil) - # Some parameter documentations has been truncated, see - # {Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Cardholder} for more - # details. - # - # Object containing data about the cardholder provided during the transaction. - # - # @param address_match [Boolean, nil] Indicates whether the shipping address and billing address provided by the cardh - # - # @param address_on_file_match [Symbol, Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Cardholder::AddressOnFileMatch] Lithic's evaluation result comparing the transaction's address data with the car - # - # @param billing_address [Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Cardholder::BillingAddress] Object containing data on the billing address provided during the transaction. - # - # @param email [String, nil] Email address that is either provided by the cardholder or is on file with the m - # - # @param name [String, nil] Name of the cardholder. Maps to EMV 3DS field `cardholderName`. - # - # @param phone_number_home [String, nil] Home phone number in E.164 format provided by the cardholder. Maps to EMV 3DS fi - # - # @param phone_number_mobile [String, nil] Mobile/cell phone number in E.164 format provided by the cardholder. Maps to EMV - # - # @param phone_number_work [String, nil] Work phone number in E.164 format provided by the cardholder. Maps to EMV 3DS fi - # - # @param shipping_address [Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Cardholder::ShippingAddress] Object containing data on the shipping address provided during the transaction. - - # Lithic's evaluation result comparing the transaction's address data with the - # cardholder KYC data if it exists. In the event Lithic does not have any - # Cardholder KYC data, or the transaction does not contain any address data, - # NOT_PRESENT will be returned - # - # @see Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Cardholder#address_on_file_match - module AddressOnFileMatch - extend Lithic::Internal::Type::Enum - - MATCH = :MATCH - MATCH_ADDRESS_ONLY = :MATCH_ADDRESS_ONLY - MATCH_ZIP_ONLY = :MATCH_ZIP_ONLY - MISMATCH = :MISMATCH - NOT_PRESENT = :NOT_PRESENT - - # @!method self.values - # @return [Array] - end - - # @see Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Cardholder#billing_address - class BillingAddress < Lithic::Internal::Type::BaseModel - # @!attribute address1 - # First line of the street address provided by the cardholder. - # - # @return [String, nil] - optional :address1, String, nil?: true - - # @!attribute address2 - # Second line of the street address provided by the cardholder. - # - # @return [String, nil] - optional :address2, String, nil?: true - - # @!attribute address3 - # Third line of the street address provided by the cardholder. - # - # @return [String, nil] - optional :address3, String, nil?: true - - # @!attribute city - # City of the address provided by the cardholder. - # - # @return [String, nil] - optional :city, String, nil?: true - - # @!attribute country - # Country of the address provided by the cardholder in ISO 3166-1 alpha-3 format - # (e.g. USA) - # - # @return [String, nil] - optional :country, String, nil?: true - - # @!attribute postal_code - # Postal code (e.g., ZIP code) of the address provided by the cardholder - # - # @return [String, nil] - optional :postal_code, String, nil?: true - - # @!method initialize(address1: nil, address2: nil, address3: nil, city: nil, country: nil, postal_code: nil) - # Some parameter documentations has been truncated, see - # {Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Cardholder::BillingAddress} - # for more details. - # - # Object containing data on the billing address provided during the transaction. - # - # @param address1 [String, nil] First line of the street address provided by the cardholder. - # - # @param address2 [String, nil] Second line of the street address provided by the cardholder. - # - # @param address3 [String, nil] Third line of the street address provided by the cardholder. - # - # @param city [String, nil] City of the address provided by the cardholder. - # - # @param country [String, nil] Country of the address provided by the cardholder in ISO 3166-1 alpha-3 format ( - # - # @param postal_code [String, nil] Postal code (e.g., ZIP code) of the address provided by the cardholder - end - - # @see Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Cardholder#shipping_address - class ShippingAddress < Lithic::Internal::Type::BaseModel - # @!attribute address1 - # First line of the street address provided by the cardholder. - # - # @return [String, nil] - optional :address1, String, nil?: true - - # @!attribute address2 - # Second line of the street address provided by the cardholder. - # - # @return [String, nil] - optional :address2, String, nil?: true - - # @!attribute address3 - # Third line of the street address provided by the cardholder. - # - # @return [String, nil] - optional :address3, String, nil?: true - - # @!attribute city - # City of the address provided by the cardholder. - # - # @return [String, nil] - optional :city, String, nil?: true - - # @!attribute country - # Country of the address provided by the cardholder in ISO 3166-1 alpha-3 format - # (e.g. USA) - # - # @return [String, nil] - optional :country, String, nil?: true - - # @!attribute postal_code - # Postal code (e.g., ZIP code) of the address provided by the cardholder - # - # @return [String, nil] - optional :postal_code, String, nil?: true - - # @!method initialize(address1: nil, address2: nil, address3: nil, city: nil, country: nil, postal_code: nil) - # Some parameter documentations has been truncated, see - # {Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Cardholder::ShippingAddress} - # for more details. - # - # Object containing data on the shipping address provided during the transaction. - # - # @param address1 [String, nil] First line of the street address provided by the cardholder. - # - # @param address2 [String, nil] Second line of the street address provided by the cardholder. - # - # @param address3 [String, nil] Third line of the street address provided by the cardholder. - # - # @param city [String, nil] City of the address provided by the cardholder. - # - # @param country [String, nil] Country of the address provided by the cardholder in ISO 3166-1 alpha-3 format ( - # - # @param postal_code [String, nil] Postal code (e.g., ZIP code) of the address provided by the cardholder - end - end - - # Channel in which the authentication occurs. Maps to EMV 3DS field - # `deviceChannel`. - # - # @see Lithic::Models::ThreeDS::AuthenticationRetrieveResponse#channel - module Channel - extend Lithic::Internal::Type::Enum - - APP_BASED = :APP_BASED - BROWSER = :BROWSER - THREE_DS_REQUESTOR_INITIATED = :THREE_DS_REQUESTOR_INITIATED - - # @!method self.values - # @return [Array] - end - - # @see Lithic::Models::ThreeDS::AuthenticationRetrieveResponse#merchant - class Merchant < Lithic::Internal::Type::BaseModel - # @!attribute risk_indicator - # Object containing additional data indicating additional risk factors related to - # the e-commerce transaction. - # - # @return [Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Merchant::RiskIndicator] - required :risk_indicator, - -> { Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Merchant::RiskIndicator } - - # @!attribute id - # Merchant identifier as assigned by the acquirer. Maps to EMV 3DS field - # `acquirerMerchantId`. May not be present for non-payment authentications. - # - # @return [String, nil] - optional :id, String, nil?: true - - # @!attribute country - # Country code of the merchant requesting 3DS authentication. Maps to EMV 3DS - # field `merchantCountryCode`. Permitted values: ISO 3166-1 alpha-3 country code - # (e.g., USA). May not be present for non-payment authentications. - # - # @return [String, nil] - optional :country, String, nil?: true - - # @!attribute mcc - # Merchant category code assigned to the merchant that describes its business - # activity type. Maps to EMV 3DS field `mcc`. May not be present for non-payment - # authentications. - # - # @return [String, nil] - optional :mcc, String, nil?: true - - # @!attribute name - # Name of the merchant. Maps to EMV 3DS field `merchantName`. May not be present - # for non-payment authentications. - # - # @return [String, nil] - optional :name, String, nil?: true - - # @!method initialize(risk_indicator:, id: nil, country: nil, mcc: nil, name: nil) - # Some parameter documentations has been truncated, see - # {Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Merchant} for more - # details. - # - # Object containing data about the merchant involved in the e-commerce - # transaction. - # - # @param risk_indicator [Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Merchant::RiskIndicator] Object containing additional data indicating additional risk factors related to - # - # @param id [String, nil] Merchant identifier as assigned by the acquirer. Maps to EMV 3DS field `acquirer - # - # @param country [String, nil] Country code of the merchant requesting 3DS authentication. Maps to EMV 3DS fiel - # - # @param mcc [String, nil] Merchant category code assigned to the merchant that describes its business acti - # - # @param name [String, nil] Name of the merchant. Maps to EMV 3DS field `merchantName`. May not be present f - - # @see Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Merchant#risk_indicator - class RiskIndicator < Lithic::Internal::Type::BaseModel - # @!attribute delivery_email_address - # In transactions with electronic delivery, email address to which merchandise is - # delivered. Maps to EMV 3DS field `deliveryEmailAddress`. - # - # @return [String, nil] - optional :delivery_email_address, String, nil?: true - - # @!attribute delivery_time_frame - # The delivery time frame for the merchandise. Maps to EMV 3DS field - # `deliveryTimeframe`. - # - # @return [Symbol, Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Merchant::RiskIndicator::DeliveryTimeFrame, nil] - optional :delivery_time_frame, - enum: -> { Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Merchant::RiskIndicator::DeliveryTimeFrame }, - nil?: true - - # @!attribute gift_card_amount - # In prepaid or gift card purchase transactions, purchase amount total in major - # units (e.g., a purchase of USD $205.10 would be 205). Maps to EMV 3DS field - # `giftCardAmount`. - # - # @return [Integer, nil] - optional :gift_card_amount, Integer, nil?: true - - # @!attribute gift_card_count - # In prepaid or gift card purchase transactions, count of individual prepaid or - # gift cards/codes purchased. Maps to EMV 3DS field `giftCardCount`. - # - # @return [Integer, nil] - optional :gift_card_count, Integer, nil?: true - - # @!attribute gift_card_currency - # In prepaid or gift card purchase transactions, currency code of the gift card. - # Maps to EMV 3DS field `giftCardCurr`. Permitted values: ISO 4217 three-character - # currency code (e.g., USD). - # - # @return [String, nil] - optional :gift_card_currency, String, nil?: true - - # @!attribute order_availability - # Indicates whether the purchase is for merchandise that is available now or at a - # future date. Maps to EMV 3DS field `preOrderPurchaseInd`. - # - # @return [Symbol, Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Merchant::RiskIndicator::OrderAvailability, nil] - optional :order_availability, - enum: -> { Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Merchant::RiskIndicator::OrderAvailability }, - nil?: true - - # @!attribute pre_order_available_date - # In pre-order purchase transactions, the expected date that the merchandise will - # be available. Maps to EMV 3DS field `preOrderDate`. Permitted values: Date - # string in the ISO 8601 format yyyy-MM-dd'T'hh:mm:ssZ - # - # @return [Time, nil] - optional :pre_order_available_date, Time, nil?: true - - # @!attribute reorder_items - # Indicates whether the cardholder is reordering previously purchased merchandise. - # Maps to EMV 3DS field `reorderItemsInd`. - # - # @return [Symbol, Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Merchant::RiskIndicator::ReorderItems, nil] - optional :reorder_items, - enum: -> { Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Merchant::RiskIndicator::ReorderItems }, - nil?: true - - # @!attribute shipping_method - # Shipping method that the cardholder chose for the transaction. If purchase - # includes one or more item, this indicator is used for the physical goods; if the - # purchase only includes digital goods, this indicator is used to describe the - # most expensive item purchased. Maps to EMV 3DS field `shipIndicator`. - # - # @return [Symbol, Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Merchant::RiskIndicator::ShippingMethod, nil] - optional :shipping_method, - enum: -> { Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Merchant::RiskIndicator::ShippingMethod }, - nil?: true - - # @!method initialize(delivery_email_address: nil, delivery_time_frame: nil, gift_card_amount: nil, gift_card_count: nil, gift_card_currency: nil, order_availability: nil, pre_order_available_date: nil, reorder_items: nil, shipping_method: nil) - # Some parameter documentations has been truncated, see - # {Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Merchant::RiskIndicator} - # for more details. - # - # Object containing additional data indicating additional risk factors related to - # the e-commerce transaction. - # - # @param delivery_email_address [String, nil] In transactions with electronic delivery, email address to which merchandise is - # - # @param delivery_time_frame [Symbol, Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Merchant::RiskIndicator::DeliveryTimeFrame, nil] The delivery time frame for the merchandise. Maps to EMV 3DS field `deliveryTime - # - # @param gift_card_amount [Integer, nil] In prepaid or gift card purchase transactions, purchase amount total in major un - # - # @param gift_card_count [Integer, nil] In prepaid or gift card purchase transactions, count of individual prepaid or gi - # - # @param gift_card_currency [String, nil] In prepaid or gift card purchase transactions, currency code of the gift card. M - # - # @param order_availability [Symbol, Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Merchant::RiskIndicator::OrderAvailability, nil] Indicates whether the purchase is for merchandise that is available now or at a - # - # @param pre_order_available_date [Time, nil] In pre-order purchase transactions, the expected date that the merchandise will - # - # @param reorder_items [Symbol, Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Merchant::RiskIndicator::ReorderItems, nil] Indicates whether the cardholder is reordering previously purchased merchandise. - # - # @param shipping_method [Symbol, Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Merchant::RiskIndicator::ShippingMethod, nil] Shipping method that the cardholder chose for the transaction. If purchase inclu - - # The delivery time frame for the merchandise. Maps to EMV 3DS field - # `deliveryTimeframe`. - # - # @see Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Merchant::RiskIndicator#delivery_time_frame - module DeliveryTimeFrame - extend Lithic::Internal::Type::Enum - - ELECTRONIC_DELIVERY = :ELECTRONIC_DELIVERY - OVERNIGHT_SHIPPING = :OVERNIGHT_SHIPPING - SAME_DAY_SHIPPING = :SAME_DAY_SHIPPING - TWO_DAY_OR_MORE_SHIPPING = :TWO_DAY_OR_MORE_SHIPPING - - # @!method self.values - # @return [Array] - end - - # Indicates whether the purchase is for merchandise that is available now or at a - # future date. Maps to EMV 3DS field `preOrderPurchaseInd`. - # - # @see Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Merchant::RiskIndicator#order_availability - module OrderAvailability - extend Lithic::Internal::Type::Enum - - FUTURE_AVAILABILITY = :FUTURE_AVAILABILITY - MERCHANDISE_AVAILABLE = :MERCHANDISE_AVAILABLE - - # @!method self.values - # @return [Array] - end - - # Indicates whether the cardholder is reordering previously purchased merchandise. - # Maps to EMV 3DS field `reorderItemsInd`. - # - # @see Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Merchant::RiskIndicator#reorder_items - module ReorderItems - extend Lithic::Internal::Type::Enum - - FIRST_TIME_ORDERED = :FIRST_TIME_ORDERED - REORDERED = :REORDERED - - # @!method self.values - # @return [Array] - end - - # Shipping method that the cardholder chose for the transaction. If purchase - # includes one or more item, this indicator is used for the physical goods; if the - # purchase only includes digital goods, this indicator is used to describe the - # most expensive item purchased. Maps to EMV 3DS field `shipIndicator`. - # - # @see Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Merchant::RiskIndicator#shipping_method - module ShippingMethod - extend Lithic::Internal::Type::Enum - - DIGITAL_GOODS = :DIGITAL_GOODS - LOCKER_DELIVERY = :LOCKER_DELIVERY - OTHER = :OTHER - PICK_UP_AND_GO_DELIVERY = :PICK_UP_AND_GO_DELIVERY - SHIP_TO_BILLING_ADDRESS = :SHIP_TO_BILLING_ADDRESS - SHIP_TO_NON_BILLING_ADDRESS = :SHIP_TO_NON_BILLING_ADDRESS - SHIP_TO_OTHER_VERIFIED_ADDRESS = :SHIP_TO_OTHER_VERIFIED_ADDRESS - SHIP_TO_STORE = :SHIP_TO_STORE - TRAVEL_AND_EVENT_TICKETS = :TRAVEL_AND_EVENT_TICKETS - - # @!method self.values - # @return [Array] - end - end - end - - # Either PAYMENT_AUTHENTICATION or NON_PAYMENT_AUTHENTICATION. For - # NON_PAYMENT_AUTHENTICATION, additional_data and transaction fields are not - # populated. - # - # @see Lithic::Models::ThreeDS::AuthenticationRetrieveResponse#message_category - module MessageCategory - extend Lithic::Internal::Type::Enum - - NON_PAYMENT_AUTHENTICATION = :NON_PAYMENT_AUTHENTICATION - PAYMENT_AUTHENTICATION = :PAYMENT_AUTHENTICATION - - # @!method self.values - # @return [Array] - end - - # Indicates whether a challenge is requested for this transaction - # - # - `NO_PREFERENCE` - No Preference - # - `NO_CHALLENGE_REQUESTED` - No Challenge Requested - # - `CHALLENGE_PREFERENCE` - Challenge requested (3DS Requestor preference) - # - `CHALLENGE_MANDATE` - Challenge requested (Mandate) - # - `NO_CHALLENGE_RISK_ALREADY_ASSESSED` - No Challenge requested (Transactional - # risk analysis is already performed) - # - `DATA_SHARE_ONLY` - No Challenge requested (Data Share Only) - # - `OTHER` - Other indicators not captured by above. These are rarely used - # - # @see Lithic::Models::ThreeDS::AuthenticationRetrieveResponse#three_ds_requestor_challenge_indicator - module ThreeDSRequestorChallengeIndicator - extend Lithic::Internal::Type::Enum - - NO_PREFERENCE = :NO_PREFERENCE - NO_CHALLENGE_REQUESTED = :NO_CHALLENGE_REQUESTED - CHALLENGE_PREFERENCE = :CHALLENGE_PREFERENCE - CHALLENGE_MANDATE = :CHALLENGE_MANDATE - NO_CHALLENGE_RISK_ALREADY_ASSESSED = :NO_CHALLENGE_RISK_ALREADY_ASSESSED - DATA_SHARE_ONLY = :DATA_SHARE_ONLY - OTHER = :OTHER - - # @!method self.values - # @return [Array] - end - - # @see Lithic::Models::ThreeDS::AuthenticationRetrieveResponse#additional_data - class AdditionalData < Lithic::Internal::Type::BaseModel - # @!attribute network_decision - # Mastercard only: Indicates whether the network would have considered the - # authentication request to be low risk or not. - # - # @return [Symbol, Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::AdditionalData::NetworkDecision, nil] - optional :network_decision, - enum: -> { Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::AdditionalData::NetworkDecision }, - nil?: true - - # @!attribute network_risk_score - # Mastercard only: Assessment by the network of the authentication risk level, - # with a higher value indicating a higher amount of risk. Permitted values: - # Integer between 0-950, in increments of 50. - # - # @return [Integer, nil] - optional :network_risk_score, Integer, nil?: true - - # @!method initialize(network_decision: nil, network_risk_score: nil) - # Some parameter documentations has been truncated, see - # {Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::AdditionalData} for - # more details. - # - # Object containing additional data about the 3DS request that is beyond the EMV - # 3DS standard spec (e.g., specific fields that only certain card networks send - # but are not required across all 3DS requests). - # - # @param network_decision [Symbol, Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::AdditionalData::NetworkDecision, nil] Mastercard only: Indicates whether the network would have considered the authent - # - # @param network_risk_score [Integer, nil] Mastercard only: Assessment by the network of the authentication risk level, wit - - # Mastercard only: Indicates whether the network would have considered the - # authentication request to be low risk or not. - # - # @see Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::AdditionalData#network_decision - module NetworkDecision - extend Lithic::Internal::Type::Enum - - LOW_RISK = :LOW_RISK - NOT_LOW_RISK = :NOT_LOW_RISK - - # @!method self.values - # @return [Array] - end - end - - # @see Lithic::Models::ThreeDS::AuthenticationRetrieveResponse#app - class App < Lithic::Internal::Type::BaseModel - # @!attribute device - # Device model: e.g. "Apple iPhone 16". - # - # @return [String, nil] - optional :device, String, nil?: true - - # @!attribute device_info - # Raw device information - base64-encoded JSON object. Maps to EMV 3DS field - # `deviceInfo`. - # - # @return [String, nil] - optional :device_info, String, nil?: true - - # @!attribute ip - # IP address of the device. - # - # @return [String, nil] - optional :ip, String - - # @!attribute latitude - # Latitude coordinate of current device location. - # - # @return [Float, nil] - optional :latitude, Float, nil?: true - - # @!attribute locale - # Device locale: e.g. "en-US". - # - # @return [String, nil] - optional :locale, String, nil?: true - - # @!attribute longitude - # Longitude coordinate of current device location. - # - # @return [Float, nil] - optional :longitude, Float, nil?: true - - # @!attribute os - # Operating System: e.g. "Android 12", "iOS 17.1". - # - # @return [String, nil] - optional :os, String, nil?: true - - # @!attribute platform - # Device platform: Android, iOS, Windows, etc. - # - # @return [String, nil] - optional :platform, String, nil?: true - - # @!attribute screen_height - # Screen height in pixels. - # - # @return [Integer, nil] - optional :screen_height, Integer, nil?: true - - # @!attribute screen_width - # Screen width in pixels. - # - # @return [Integer, nil] - optional :screen_width, Integer, nil?: true - - # @!attribute time_zone - # Time zone offset in minutes between UTC and device local time. - # - # @return [String, nil] - optional :time_zone, String, nil?: true - - # @!method initialize(device: nil, device_info: nil, ip: nil, latitude: nil, locale: nil, longitude: nil, os: nil, platform: nil, screen_height: nil, screen_width: nil, time_zone: nil) - # Some parameter documentations has been truncated, see - # {Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::App} for more details. - # - # Object containing data about the app used in the e-commerce transaction. Present - # if the channel is 'APP_BASED'. - # - # @param device [String, nil] Device model: e.g. "Apple iPhone 16". - # - # @param device_info [String, nil] Raw device information - base64-encoded JSON object. Maps to EMV 3DS field `devi - # - # @param ip [String] IP address of the device. - # - # @param latitude [Float, nil] Latitude coordinate of current device location. - # - # @param locale [String, nil] Device locale: e.g. "en-US". - # - # @param longitude [Float, nil] Longitude coordinate of current device location. - # - # @param os [String, nil] Operating System: e.g. "Android 12", "iOS 17.1". - # - # @param platform [String, nil] Device platform: Android, iOS, Windows, etc. - # - # @param screen_height [Integer, nil] Screen height in pixels. - # - # @param screen_width [Integer, nil] Screen width in pixels. - # - # @param time_zone [String, nil] Time zone offset in minutes between UTC and device local time. - end - - # Type of authentication request - i.e., the type of transaction or interaction is - # causing the merchant to request an authentication. Maps to EMV 3DS field - # `threeDSRequestorAuthenticationInd`. - # - # @see Lithic::Models::ThreeDS::AuthenticationRetrieveResponse#authentication_request_type - module AuthenticationRequestType - extend Lithic::Internal::Type::Enum - - ADD_CARD = :ADD_CARD - BILLING_AGREEMENT = :BILLING_AGREEMENT - DELAYED_SHIPMENT = :DELAYED_SHIPMENT - EMV_TOKEN_CARDHOLDER_VERIFICATION = :EMV_TOKEN_CARDHOLDER_VERIFICATION - INSTALLMENT_TRANSACTION = :INSTALLMENT_TRANSACTION - MAINTAIN_CARD = :MAINTAIN_CARD - PAYMENT_TRANSACTION = :PAYMENT_TRANSACTION - RECURRING_TRANSACTION = :RECURRING_TRANSACTION - SPLIT_PAYMENT = :SPLIT_PAYMENT - SPLIT_SHIPMENT = :SPLIT_SHIPMENT - - # @!method self.values - # @return [Array] - end - - # @see Lithic::Models::ThreeDS::AuthenticationRetrieveResponse#browser - class Browser < Lithic::Internal::Type::BaseModel - # @!attribute accept_header - # Content of the HTTP accept headers as sent from the cardholder's browser to the - # 3DS requestor (e.g., merchant or digital wallet). - # - # @return [String, nil] - optional :accept_header, String, nil?: true - - # @!attribute ip - # IP address of the browser as returned by the HTTP headers to the 3DS requestor - # (e.g., merchant or digital wallet). Maps to EMV 3DS field `browserIP`. - # - # @return [String, nil] - optional :ip, String, nil?: true - - # @!attribute java_enabled - # Indicates whether the cardholder's browser has the ability to execute Java. Maps - # to EMV 3DS field `browserJavaEnabled`. - # - # @return [Boolean, nil] - optional :java_enabled, Lithic::Internal::Type::Boolean, nil?: true - - # @!attribute javascript_enabled - # Indicates whether the cardholder's browser has the ability to execute - # JavaScript. Maps to EMV 3DS field `browserJavascriptEnabled`. - # - # @return [Boolean, nil] - optional :javascript_enabled, Lithic::Internal::Type::Boolean, nil?: true - - # @!attribute language - # Language of the cardholder's browser as defined in IETF BCP47. Maps to EMV 3DS - # field `browserLanguage`. - # - # @return [String, nil] - optional :language, String, nil?: true - - # @!attribute time_zone - # Time zone offset in minutes between UTC and browser local time. Maps to EMV 3DS - # field `browserTz`. - # - # @return [String, nil] - optional :time_zone, String, nil?: true - - # @!attribute user_agent - # Content of the HTTP user-agent header. Maps to EMV 3DS field `browserUserAgent`. - # - # @return [String, nil] - optional :user_agent, String, nil?: true - - # @!method initialize(accept_header: nil, ip: nil, java_enabled: nil, javascript_enabled: nil, language: nil, time_zone: nil, user_agent: nil) - # Some parameter documentations has been truncated, see - # {Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Browser} for more - # details. - # - # Object containing data about the browser used in the e-commerce transaction. - # Present if the channel is 'BROWSER'. - # - # @param accept_header [String, nil] Content of the HTTP accept headers as sent from the cardholder's browser to the - # - # @param ip [String, nil] IP address of the browser as returned by the HTTP headers to the 3DS requestor ( - # - # @param java_enabled [Boolean, nil] Indicates whether the cardholder's browser has the ability to execute Java. Maps - # - # @param javascript_enabled [Boolean, nil] Indicates whether the cardholder's browser has the ability to execute JavaScript - # - # @param language [String, nil] Language of the cardholder's browser as defined in IETF BCP47. Maps to EMV 3DS f - # - # @param time_zone [String, nil] Time zone offset in minutes between UTC and browser local time. Maps to EMV 3DS - # - # @param user_agent [String, nil] Content of the HTTP user-agent header. Maps to EMV 3DS field `browserUserAgent`. - end - - # @see Lithic::Models::ThreeDS::AuthenticationRetrieveResponse#challenge_metadata - class ChallengeMetadata < Lithic::Internal::Type::BaseModel - # @!attribute method_type - # The type of challenge method used for authentication. - # - # @return [Symbol, Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::ChallengeMetadata::MethodType] - 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:, 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. - # - # @see Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::ChallengeMetadata#method_type - module MethodType - extend Lithic::Internal::Type::Enum - - SMS_OTP = :SMS_OTP - OUT_OF_BAND = :OUT_OF_BAND - - # @!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 - # for which a decision has not yet been made (e.g. in-flight customer decisioning - # request). - # - # @see Lithic::Models::ThreeDS::AuthenticationRetrieveResponse#challenge_orchestrated_by - module ChallengeOrchestratedBy - extend Lithic::Internal::Type::Enum - - LITHIC = :LITHIC - CUSTOMER = :CUSTOMER - NO_CHALLENGE = :NO_CHALLENGE - - # @!method self.values - # @return [Array] - end - - # Entity that made the authentication decision. This won't be set for - # authentications for which a decision has not yet been made (e.g. in-flight - # customer decisioning request). - # - # @see Lithic::Models::ThreeDS::AuthenticationRetrieveResponse#decision_made_by - module DecisionMadeBy - extend Lithic::Internal::Type::Enum - - LITHIC_RULES = :LITHIC_RULES - LITHIC_DEFAULT = :LITHIC_DEFAULT - CUSTOMER_RULES = :CUSTOMER_RULES - CUSTOMER_ENDPOINT = :CUSTOMER_ENDPOINT - NETWORK = :NETWORK - UNKNOWN = :UNKNOWN - - # @!method self.values - # @return [Array] - end - - # Type of 3DS Requestor Initiated (3RI) request — i.e., a 3DS authentication that - # takes place at the initiation of the merchant rather than the cardholder. The - # most common example of this is where a merchant is authenticating before billing - # for a recurring transaction such as a pay TV subscription or a utility bill. - # Maps to EMV 3DS field `threeRIInd`. - # - # @see Lithic::Models::ThreeDS::AuthenticationRetrieveResponse#three_ri_request_type - module ThreeRiRequestType - extend Lithic::Internal::Type::Enum - - ACCOUNT_VERIFICATION = :ACCOUNT_VERIFICATION - ADD_CARD = :ADD_CARD - BILLING_AGREEMENT = :BILLING_AGREEMENT - CARD_SECURITY_CODE_STATUS_CHECK = :CARD_SECURITY_CODE_STATUS_CHECK - DELAYED_SHIPMENT = :DELAYED_SHIPMENT - DEVICE_BINDING_STATUS_CHECK = :DEVICE_BINDING_STATUS_CHECK - INSTALLMENT_TRANSACTION = :INSTALLMENT_TRANSACTION - MAIL_ORDER = :MAIL_ORDER - MAINTAIN_CARD_INFO = :MAINTAIN_CARD_INFO - OTHER_PAYMENT = :OTHER_PAYMENT - RECURRING_TRANSACTION = :RECURRING_TRANSACTION - SPLIT_PAYMENT = :SPLIT_PAYMENT - SPLIT_SHIPMENT = :SPLIT_SHIPMENT - TELEPHONE_ORDER = :TELEPHONE_ORDER - TOP_UP = :TOP_UP - TRUST_LIST_STATUS_CHECK = :TRUST_LIST_STATUS_CHECK - - # @!method self.values - # @return [Array] - end - - # @see Lithic::Models::ThreeDS::AuthenticationRetrieveResponse#transaction - class Transaction < Lithic::Internal::Type::BaseModel - # @!attribute amount - # Amount of the purchase in minor units of currency with all punctuation removed. - # Maps to EMV 3DS field `purchaseAmount`. - # - # @return [Float] - required :amount, Float - - # @!attribute cardholder_amount - # Approximate amount of the purchase in minor units of cardholder currency. - # Derived from `amount` using a daily conversion rate. - # - # @return [Float, nil] - required :cardholder_amount, Float, nil?: true - - # @!attribute currency - # Currency of the purchase. Maps to EMV 3DS field `purchaseCurrency`. Permitted - # values: ISO 4217 three-character currency code (e.g., USD). - # - # @return [String] - required :currency, String - - # @!attribute currency_exponent - # Minor units of currency, as specified in ISO 4217 currency exponent. Maps to EMV - # 3DS field `purchaseExponent`. - # - # @return [Float] - required :currency_exponent, Float - - # @!attribute date_time - # Date and time when the authentication was generated by the merchant/acquirer's - # 3DS server. Maps to EMV 3DS field `purchaseDate`. Permitted values: Date string - # in the ISO 8601 format yyyy-MM-dd'T'hh:mm:ssZ. - # - # @return [Time] - required :date_time, Time - - # @!attribute type - # Type of the transaction for which a 3DS authentication request is occurring. - # Maps to EMV 3DS field `transType`. - # - # @return [Symbol, Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Transaction::Type, nil] - required :type, - enum: -> { Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Transaction::Type }, - nil?: true - - # @!method initialize(amount:, cardholder_amount:, currency:, currency_exponent:, date_time:, type:) - # Some parameter documentations has been truncated, see - # {Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Transaction} for more - # details. - # - # Object containing data about the e-commerce transaction for which the merchant - # is requesting authentication. - # - # @param amount [Float] Amount of the purchase in minor units of currency with all punctuation removed. - # - # @param cardholder_amount [Float, nil] Approximate amount of the purchase in minor units of cardholder currency. Derive - # - # @param currency [String] Currency of the purchase. Maps to EMV 3DS field `purchaseCurrency`. Permitted va - # - # @param currency_exponent [Float] Minor units of currency, as specified in ISO 4217 currency exponent. Maps to EMV - # - # @param date_time [Time] Date and time when the authentication was generated by the merchant/acquirer's 3 - # - # @param type [Symbol, Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Transaction::Type, nil] Type of the transaction for which a 3DS authentication request is occurring. Map - - # Type of the transaction for which a 3DS authentication request is occurring. - # Maps to EMV 3DS field `transType`. - # - # @see Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Transaction#type - module Type - extend Lithic::Internal::Type::Enum - - ACCOUNT_FUNDING = :ACCOUNT_FUNDING - CHECK_ACCEPTANCE = :CHECK_ACCEPTANCE - GOODS_SERVICE_PURCHASE = :GOODS_SERVICE_PURCHASE - PREPAID_ACTIVATION_AND_LOAD = :PREPAID_ACTIVATION_AND_LOAD - QUASI_CASH_TRANSACTION = :QUASI_CASH_TRANSACTION - - # @!method self.values - # @return [Array] - end - end - end - end - end -end diff --git a/lib/lithic/models/three_ds_authentication.rb b/lib/lithic/models/three_ds_authentication.rb new file mode 100644 index 00000000..a29ed789 --- /dev/null +++ b/lib/lithic/models/three_ds_authentication.rb @@ -0,0 +1,1259 @@ +# frozen_string_literal: true + +module Lithic + module Models + class ThreeDSAuthentication < Lithic::Internal::Type::BaseModel + # @!attribute token + # Globally unique identifier for the 3DS authentication. Permitted values: + # 36-digit version 4 UUID (including hyphens). + # + # @return [String] + required :token, String + + # @!attribute account_type + # Type of account/card that is being used for the transaction. Maps to EMV 3DS + # field `acctType`. + # + # @return [Symbol, Lithic::Models::ThreeDSAuthentication::AccountType, nil] + required :account_type, enum: -> { Lithic::ThreeDSAuthentication::AccountType }, nil?: true + + # @!attribute authentication_result + # Indicates the outcome of the 3DS authentication process. + # + # @return [Symbol, Lithic::Models::ThreeDSAuthentication::AuthenticationResult] + required :authentication_result, enum: -> { Lithic::ThreeDSAuthentication::AuthenticationResult } + + # @!attribute card_expiry_check + # Indicates whether the expiration date provided by the cardholder during checkout + # matches Lithic's record of the card's expiration date. + # + # @return [Symbol, Lithic::Models::ThreeDSAuthentication::CardExpiryCheck] + required :card_expiry_check, enum: -> { Lithic::ThreeDSAuthentication::CardExpiryCheck } + + # @!attribute card_token + # Globally unique identifier for the card on which the 3DS authentication has + # occurred. Permitted values: 36-digit version 4 UUID (including hyphens). + # + # @return [String] + required :card_token, String + + # @!attribute cardholder + # Object containing data about the cardholder provided during the transaction. + # + # @return [Lithic::Models::ThreeDSAuthentication::Cardholder] + required :cardholder, -> { Lithic::ThreeDSAuthentication::Cardholder } + + # @!attribute channel + # Channel in which the authentication occurs. Maps to EMV 3DS field + # `deviceChannel`. + # + # @return [Symbol, Lithic::Models::ThreeDSAuthentication::Channel] + required :channel, enum: -> { Lithic::ThreeDSAuthentication::Channel } + + # @!attribute created + # Date and time when the authentication was created in Lithic's system. Permitted + # values: Date string in the ISO 8601 format yyyy-MM-dd'T'hh:mm:ssZ. + # + # @return [Time] + required :created, Time + + # @!attribute merchant + # Object containing data about the merchant involved in the e-commerce + # transaction. + # + # @return [Lithic::Models::ThreeDSAuthentication::Merchant] + required :merchant, -> { Lithic::ThreeDSAuthentication::Merchant } + + # @!attribute message_category + # Either PAYMENT_AUTHENTICATION or NON_PAYMENT_AUTHENTICATION. For + # NON_PAYMENT_AUTHENTICATION, additional_data and transaction fields are not + # populated. + # + # @return [Symbol, Lithic::Models::ThreeDSAuthentication::MessageCategory] + required :message_category, enum: -> { Lithic::ThreeDSAuthentication::MessageCategory } + + # @!attribute three_ds_requestor_challenge_indicator + # Indicates whether a challenge is requested for this transaction + # + # - `NO_PREFERENCE` - No Preference + # - `NO_CHALLENGE_REQUESTED` - No Challenge Requested + # - `CHALLENGE_PREFERENCE` - Challenge requested (3DS Requestor preference) + # - `CHALLENGE_MANDATE` - Challenge requested (Mandate) + # - `NO_CHALLENGE_RISK_ALREADY_ASSESSED` - No Challenge requested (Transactional + # risk analysis is already performed) + # - `DATA_SHARE_ONLY` - No Challenge requested (Data Share Only) + # - `OTHER` - Other indicators not captured by above. These are rarely used + # + # @return [Symbol, Lithic::Models::ThreeDSAuthentication::ThreeDSRequestorChallengeIndicator] + required :three_ds_requestor_challenge_indicator, + enum: -> { Lithic::ThreeDSAuthentication::ThreeDSRequestorChallengeIndicator } + + # @!attribute additional_data + # Object containing additional data about the 3DS request that is beyond the EMV + # 3DS standard spec (e.g., specific fields that only certain card networks send + # but are not required across all 3DS requests). + # + # @return [Lithic::Models::ThreeDSAuthentication::AdditionalData, nil] + optional :additional_data, -> { Lithic::ThreeDSAuthentication::AdditionalData }, nil?: true + + # @!attribute app + # Object containing data about the app used in the e-commerce transaction. Present + # if the channel is 'APP_BASED'. + # + # @return [Lithic::Models::ThreeDSAuthentication::App, nil] + optional :app, -> { Lithic::ThreeDSAuthentication::App }, nil?: true + + # @!attribute authentication_request_type + # Type of authentication request - i.e., the type of transaction or interaction is + # causing the merchant to request an authentication. Maps to EMV 3DS field + # `threeDSRequestorAuthenticationInd`. + # + # @return [Symbol, Lithic::Models::ThreeDSAuthentication::AuthenticationRequestType, nil] + optional :authentication_request_type, + enum: -> { Lithic::ThreeDSAuthentication::AuthenticationRequestType }, + nil?: true + + # @!attribute browser + # Object containing data about the browser used in the e-commerce transaction. + # Present if the channel is 'BROWSER'. + # + # @return [Lithic::Models::ThreeDSAuthentication::Browser, nil] + optional :browser, -> { Lithic::ThreeDSAuthentication::Browser }, nil?: true + + # @!attribute challenge_metadata + # Metadata about the challenge method and delivery. Only present when a challenge + # is triggered. + # + # @return [Lithic::Models::ThreeDSAuthentication::ChallengeMetadata, nil] + optional :challenge_metadata, -> { Lithic::ThreeDSAuthentication::ChallengeMetadata }, nil?: true + + # @!attribute challenge_orchestrated_by + # Entity that orchestrates the challenge. This won't be set for authentications + # for which a decision has not yet been made (e.g. in-flight customer decisioning + # request). + # + # @return [Symbol, Lithic::Models::ThreeDSAuthentication::ChallengeOrchestratedBy, nil] + optional :challenge_orchestrated_by, + enum: -> { Lithic::ThreeDSAuthentication::ChallengeOrchestratedBy }, + nil?: true + + # @!attribute decision_made_by + # Entity that made the authentication decision. This won't be set for + # authentications for which a decision has not yet been made (e.g. in-flight + # customer decisioning request). + # + # @return [Symbol, Lithic::Models::ThreeDSAuthentication::DecisionMadeBy, nil] + optional :decision_made_by, enum: -> { Lithic::ThreeDSAuthentication::DecisionMadeBy }, nil?: true + + # @!attribute three_ri_request_type + # Type of 3DS Requestor Initiated (3RI) request — i.e., a 3DS authentication that + # takes place at the initiation of the merchant rather than the cardholder. The + # most common example of this is where a merchant is authenticating before billing + # for a recurring transaction such as a pay TV subscription or a utility bill. + # Maps to EMV 3DS field `threeRIInd`. + # + # @return [Symbol, Lithic::Models::ThreeDSAuthentication::ThreeRiRequestType, nil] + optional :three_ri_request_type, + enum: -> { Lithic::ThreeDSAuthentication::ThreeRiRequestType }, + nil?: true + + # @!attribute transaction + # Object containing data about the e-commerce transaction for which the merchant + # is requesting authentication. + # + # @return [Lithic::Models::ThreeDSAuthentication::Transaction, nil] + optional :transaction, -> { Lithic::ThreeDSAuthentication::Transaction }, nil?: true + + # @!method initialize(token:, account_type:, authentication_result:, card_expiry_check:, card_token:, cardholder:, channel:, created:, merchant:, message_category:, three_ds_requestor_challenge_indicator:, additional_data: nil, app: nil, authentication_request_type: nil, browser: nil, challenge_metadata: nil, challenge_orchestrated_by: nil, decision_made_by: nil, three_ri_request_type: nil, transaction: nil) + # Some parameter documentations has been truncated, see + # {Lithic::Models::ThreeDSAuthentication} for more details. + # + # Represents a 3DS authentication + # + # @param token [String] Globally unique identifier for the 3DS authentication. Permitted values: 36-digi + # + # @param account_type [Symbol, Lithic::Models::ThreeDSAuthentication::AccountType, nil] Type of account/card that is being used for the transaction. Maps to EMV 3DS fie + # + # @param authentication_result [Symbol, Lithic::Models::ThreeDSAuthentication::AuthenticationResult] Indicates the outcome of the 3DS authentication process. + # + # @param card_expiry_check [Symbol, Lithic::Models::ThreeDSAuthentication::CardExpiryCheck] Indicates whether the expiration date provided by the cardholder during checkout + # + # @param card_token [String] Globally unique identifier for the card on which the 3DS authentication has occu + # + # @param cardholder [Lithic::Models::ThreeDSAuthentication::Cardholder] Object containing data about the cardholder provided during the transaction. + # + # @param channel [Symbol, Lithic::Models::ThreeDSAuthentication::Channel] Channel in which the authentication occurs. Maps to EMV 3DS field `deviceChannel + # + # @param created [Time] Date and time when the authentication was created in Lithic's system. Permitted + # + # @param merchant [Lithic::Models::ThreeDSAuthentication::Merchant] Object containing data about the merchant involved in the e-commerce transaction + # + # @param message_category [Symbol, Lithic::Models::ThreeDSAuthentication::MessageCategory] Either PAYMENT_AUTHENTICATION or NON_PAYMENT_AUTHENTICATION. For NON_PAYMENT_AUT + # + # @param three_ds_requestor_challenge_indicator [Symbol, Lithic::Models::ThreeDSAuthentication::ThreeDSRequestorChallengeIndicator] Indicates whether a challenge is requested for this transaction + # + # @param additional_data [Lithic::Models::ThreeDSAuthentication::AdditionalData, nil] Object containing additional data about the 3DS request that is beyond the EMV 3 + # + # @param app [Lithic::Models::ThreeDSAuthentication::App, nil] Object containing data about the app used in the e-commerce transaction. Present + # + # @param authentication_request_type [Symbol, Lithic::Models::ThreeDSAuthentication::AuthenticationRequestType, nil] Type of authentication request - i.e., the type of transaction or interaction is + # + # @param browser [Lithic::Models::ThreeDSAuthentication::Browser, nil] Object containing data about the browser used in the e-commerce transaction. Pre + # + # @param challenge_metadata [Lithic::Models::ThreeDSAuthentication::ChallengeMetadata, nil] Metadata about the challenge method and delivery. Only present when a challenge + # + # @param challenge_orchestrated_by [Symbol, Lithic::Models::ThreeDSAuthentication::ChallengeOrchestratedBy, nil] Entity that orchestrates the challenge. This won't be set for authentications fo + # + # @param decision_made_by [Symbol, Lithic::Models::ThreeDSAuthentication::DecisionMadeBy, nil] Entity that made the authentication decision. This won't be set for authenticati + # + # @param three_ri_request_type [Symbol, Lithic::Models::ThreeDSAuthentication::ThreeRiRequestType, nil] Type of 3DS Requestor Initiated (3RI) request — i.e., a 3DS authentication that + # + # @param transaction [Lithic::Models::ThreeDSAuthentication::Transaction, nil] Object containing data about the e-commerce transaction for which the merchant i + + # Type of account/card that is being used for the transaction. Maps to EMV 3DS + # field `acctType`. + # + # @see Lithic::Models::ThreeDSAuthentication#account_type + module AccountType + extend Lithic::Internal::Type::Enum + + CREDIT = :CREDIT + DEBIT = :DEBIT + NOT_APPLICABLE = :NOT_APPLICABLE + + # @!method self.values + # @return [Array] + end + + # Indicates the outcome of the 3DS authentication process. + # + # @see Lithic::Models::ThreeDSAuthentication#authentication_result + module AuthenticationResult + extend Lithic::Internal::Type::Enum + + DECLINE = :DECLINE + SUCCESS = :SUCCESS + PENDING_CHALLENGE = :PENDING_CHALLENGE + PENDING_DECISION = :PENDING_DECISION + + # @!method self.values + # @return [Array] + end + + # Indicates whether the expiration date provided by the cardholder during checkout + # matches Lithic's record of the card's expiration date. + # + # @see Lithic::Models::ThreeDSAuthentication#card_expiry_check + module CardExpiryCheck + extend Lithic::Internal::Type::Enum + + MATCH = :MATCH + MISMATCH = :MISMATCH + NOT_PRESENT = :NOT_PRESENT + + # @!method self.values + # @return [Array] + end + + # @see Lithic::Models::ThreeDSAuthentication#cardholder + class Cardholder < Lithic::Internal::Type::BaseModel + # @!attribute address_match + # Indicates whether the shipping address and billing address provided by the + # cardholder are the same. This value - and assessment of whether the addresses + # match - is provided directly in the 3DS request and is not determined by Lithic. + # Maps to EMV 3DS field `addrMatch`. + # + # @return [Boolean, nil] + optional :address_match, Lithic::Internal::Type::Boolean, nil?: true + + # @!attribute address_on_file_match + # Lithic's evaluation result comparing the transaction's address data with the + # cardholder KYC data if it exists. In the event Lithic does not have any + # Cardholder KYC data, or the transaction does not contain any address data, + # NOT_PRESENT will be returned + # + # @return [Symbol, Lithic::Models::ThreeDSAuthentication::Cardholder::AddressOnFileMatch, nil] + optional :address_on_file_match, + enum: -> { Lithic::ThreeDSAuthentication::Cardholder::AddressOnFileMatch } + + # @!attribute billing_address + # Object containing data on the billing address provided during the transaction. + # + # @return [Lithic::Models::ThreeDSAuthentication::Cardholder::BillingAddress, nil] + optional :billing_address, -> { Lithic::ThreeDSAuthentication::Cardholder::BillingAddress } + + # @!attribute email + # Email address that is either provided by the cardholder or is on file with the + # merchant in a 3RI request. Maps to EMV 3DS field `email`. + # + # @return [String, nil] + optional :email, String, nil?: true + + # @!attribute name + # Name of the cardholder. Maps to EMV 3DS field `cardholderName`. + # + # @return [String, nil] + optional :name, String, nil?: true + + # @!attribute phone_number_home + # Home phone number in E.164 format provided by the cardholder. Maps to EMV 3DS + # fields `homePhone.cc` and `homePhone.subscriber`. + # + # @return [String, nil] + optional :phone_number_home, String, nil?: true + + # @!attribute phone_number_mobile + # Mobile/cell phone number in E.164 format provided by the cardholder. Maps to EMV + # 3DS fields `mobilePhone.cc` and `mobilePhone.subscriber`. + # + # @return [String, nil] + optional :phone_number_mobile, String, nil?: true + + # @!attribute phone_number_work + # Work phone number in E.164 format provided by the cardholder. Maps to EMV 3DS + # fields `workPhone.cc` and `workPhone.subscriber`. + # + # @return [String, nil] + optional :phone_number_work, String, nil?: true + + # @!attribute shipping_address + # Object containing data on the shipping address provided during the transaction. + # + # @return [Lithic::Models::ThreeDSAuthentication::Cardholder::ShippingAddress, nil] + optional :shipping_address, -> { Lithic::ThreeDSAuthentication::Cardholder::ShippingAddress } + + # @!method initialize(address_match: nil, address_on_file_match: nil, billing_address: nil, email: nil, name: nil, phone_number_home: nil, phone_number_mobile: nil, phone_number_work: nil, shipping_address: nil) + # Some parameter documentations has been truncated, see + # {Lithic::Models::ThreeDSAuthentication::Cardholder} for more details. + # + # Object containing data about the cardholder provided during the transaction. + # + # @param address_match [Boolean, nil] Indicates whether the shipping address and billing address provided by the cardh + # + # @param address_on_file_match [Symbol, Lithic::Models::ThreeDSAuthentication::Cardholder::AddressOnFileMatch] Lithic's evaluation result comparing the transaction's address data with the car + # + # @param billing_address [Lithic::Models::ThreeDSAuthentication::Cardholder::BillingAddress] Object containing data on the billing address provided during the transaction. + # + # @param email [String, nil] Email address that is either provided by the cardholder or is on file with the m + # + # @param name [String, nil] Name of the cardholder. Maps to EMV 3DS field `cardholderName`. + # + # @param phone_number_home [String, nil] Home phone number in E.164 format provided by the cardholder. Maps to EMV 3DS fi + # + # @param phone_number_mobile [String, nil] Mobile/cell phone number in E.164 format provided by the cardholder. Maps to EMV + # + # @param phone_number_work [String, nil] Work phone number in E.164 format provided by the cardholder. Maps to EMV 3DS fi + # + # @param shipping_address [Lithic::Models::ThreeDSAuthentication::Cardholder::ShippingAddress] Object containing data on the shipping address provided during the transaction. + + # Lithic's evaluation result comparing the transaction's address data with the + # cardholder KYC data if it exists. In the event Lithic does not have any + # Cardholder KYC data, or the transaction does not contain any address data, + # NOT_PRESENT will be returned + # + # @see Lithic::Models::ThreeDSAuthentication::Cardholder#address_on_file_match + module AddressOnFileMatch + extend Lithic::Internal::Type::Enum + + MATCH = :MATCH + MATCH_ADDRESS_ONLY = :MATCH_ADDRESS_ONLY + MATCH_ZIP_ONLY = :MATCH_ZIP_ONLY + MISMATCH = :MISMATCH + NOT_PRESENT = :NOT_PRESENT + + # @!method self.values + # @return [Array] + end + + # @see Lithic::Models::ThreeDSAuthentication::Cardholder#billing_address + class BillingAddress < Lithic::Internal::Type::BaseModel + # @!attribute address1 + # First line of the street address provided by the cardholder. + # + # @return [String, nil] + optional :address1, String, nil?: true + + # @!attribute address2 + # Second line of the street address provided by the cardholder. + # + # @return [String, nil] + optional :address2, String, nil?: true + + # @!attribute address3 + # Third line of the street address provided by the cardholder. + # + # @return [String, nil] + optional :address3, String, nil?: true + + # @!attribute city + # City of the address provided by the cardholder. + # + # @return [String, nil] + optional :city, String, nil?: true + + # @!attribute country + # Country of the address provided by the cardholder in ISO 3166-1 alpha-3 format + # (e.g. USA) + # + # @return [String, nil] + optional :country, String, nil?: true + + # @!attribute postal_code + # Postal code (e.g., ZIP code) of the address provided by the cardholder + # + # @return [String, nil] + optional :postal_code, String, nil?: true + + # @!method initialize(address1: nil, address2: nil, address3: nil, city: nil, country: nil, postal_code: nil) + # Some parameter documentations has been truncated, see + # {Lithic::Models::ThreeDSAuthentication::Cardholder::BillingAddress} for more + # details. + # + # Object containing data on the billing address provided during the transaction. + # + # @param address1 [String, nil] First line of the street address provided by the cardholder. + # + # @param address2 [String, nil] Second line of the street address provided by the cardholder. + # + # @param address3 [String, nil] Third line of the street address provided by the cardholder. + # + # @param city [String, nil] City of the address provided by the cardholder. + # + # @param country [String, nil] Country of the address provided by the cardholder in ISO 3166-1 alpha-3 format ( + # + # @param postal_code [String, nil] Postal code (e.g., ZIP code) of the address provided by the cardholder + end + + # @see Lithic::Models::ThreeDSAuthentication::Cardholder#shipping_address + class ShippingAddress < Lithic::Internal::Type::BaseModel + # @!attribute address1 + # First line of the street address provided by the cardholder. + # + # @return [String, nil] + optional :address1, String, nil?: true + + # @!attribute address2 + # Second line of the street address provided by the cardholder. + # + # @return [String, nil] + optional :address2, String, nil?: true + + # @!attribute address3 + # Third line of the street address provided by the cardholder. + # + # @return [String, nil] + optional :address3, String, nil?: true + + # @!attribute city + # City of the address provided by the cardholder. + # + # @return [String, nil] + optional :city, String, nil?: true + + # @!attribute country + # Country of the address provided by the cardholder in ISO 3166-1 alpha-3 format + # (e.g. USA) + # + # @return [String, nil] + optional :country, String, nil?: true + + # @!attribute postal_code + # Postal code (e.g., ZIP code) of the address provided by the cardholder + # + # @return [String, nil] + optional :postal_code, String, nil?: true + + # @!method initialize(address1: nil, address2: nil, address3: nil, city: nil, country: nil, postal_code: nil) + # Some parameter documentations has been truncated, see + # {Lithic::Models::ThreeDSAuthentication::Cardholder::ShippingAddress} for more + # details. + # + # Object containing data on the shipping address provided during the transaction. + # + # @param address1 [String, nil] First line of the street address provided by the cardholder. + # + # @param address2 [String, nil] Second line of the street address provided by the cardholder. + # + # @param address3 [String, nil] Third line of the street address provided by the cardholder. + # + # @param city [String, nil] City of the address provided by the cardholder. + # + # @param country [String, nil] Country of the address provided by the cardholder in ISO 3166-1 alpha-3 format ( + # + # @param postal_code [String, nil] Postal code (e.g., ZIP code) of the address provided by the cardholder + end + end + + # Channel in which the authentication occurs. Maps to EMV 3DS field + # `deviceChannel`. + # + # @see Lithic::Models::ThreeDSAuthentication#channel + module Channel + extend Lithic::Internal::Type::Enum + + APP_BASED = :APP_BASED + BROWSER = :BROWSER + THREE_DS_REQUESTOR_INITIATED = :THREE_DS_REQUESTOR_INITIATED + + # @!method self.values + # @return [Array] + end + + # @see Lithic::Models::ThreeDSAuthentication#merchant + class Merchant < Lithic::Internal::Type::BaseModel + # @!attribute risk_indicator + # Object containing additional data indicating additional risk factors related to + # the e-commerce transaction. + # + # @return [Lithic::Models::ThreeDSAuthentication::Merchant::RiskIndicator] + required :risk_indicator, -> { Lithic::ThreeDSAuthentication::Merchant::RiskIndicator } + + # @!attribute id + # Merchant identifier as assigned by the acquirer. Maps to EMV 3DS field + # `acquirerMerchantId`. May not be present for non-payment authentications. + # + # @return [String, nil] + optional :id, String, nil?: true + + # @!attribute country + # Country code of the merchant requesting 3DS authentication. Maps to EMV 3DS + # field `merchantCountryCode`. Permitted values: ISO 3166-1 alpha-3 country code + # (e.g., USA). May not be present for non-payment authentications. + # + # @return [String, nil] + optional :country, String, nil?: true + + # @!attribute mcc + # Merchant category code assigned to the merchant that describes its business + # activity type. Maps to EMV 3DS field `mcc`. May not be present for non-payment + # authentications. + # + # @return [String, nil] + optional :mcc, String, nil?: true + + # @!attribute name + # Name of the merchant. Maps to EMV 3DS field `merchantName`. May not be present + # for non-payment authentications. + # + # @return [String, nil] + optional :name, String, nil?: true + + # @!method initialize(risk_indicator:, id: nil, country: nil, mcc: nil, name: nil) + # Some parameter documentations has been truncated, see + # {Lithic::Models::ThreeDSAuthentication::Merchant} for more details. + # + # Object containing data about the merchant involved in the e-commerce + # transaction. + # + # @param risk_indicator [Lithic::Models::ThreeDSAuthentication::Merchant::RiskIndicator] Object containing additional data indicating additional risk factors related to + # + # @param id [String, nil] Merchant identifier as assigned by the acquirer. Maps to EMV 3DS field `acquirer + # + # @param country [String, nil] Country code of the merchant requesting 3DS authentication. Maps to EMV 3DS fiel + # + # @param mcc [String, nil] Merchant category code assigned to the merchant that describes its business acti + # + # @param name [String, nil] Name of the merchant. Maps to EMV 3DS field `merchantName`. May not be present f + + # @see Lithic::Models::ThreeDSAuthentication::Merchant#risk_indicator + class RiskIndicator < Lithic::Internal::Type::BaseModel + # @!attribute delivery_email_address + # In transactions with electronic delivery, email address to which merchandise is + # delivered. Maps to EMV 3DS field `deliveryEmailAddress`. + # + # @return [String, nil] + optional :delivery_email_address, String, nil?: true + + # @!attribute delivery_time_frame + # The delivery time frame for the merchandise. Maps to EMV 3DS field + # `deliveryTimeframe`. + # + # @return [Symbol, Lithic::Models::ThreeDSAuthentication::Merchant::RiskIndicator::DeliveryTimeFrame, nil] + optional :delivery_time_frame, + enum: -> { Lithic::ThreeDSAuthentication::Merchant::RiskIndicator::DeliveryTimeFrame }, + nil?: true + + # @!attribute gift_card_amount + # In prepaid or gift card purchase transactions, purchase amount total in major + # units (e.g., a purchase of USD $205.10 would be 205). Maps to EMV 3DS field + # `giftCardAmount`. + # + # @return [Integer, nil] + optional :gift_card_amount, Integer, nil?: true + + # @!attribute gift_card_count + # In prepaid or gift card purchase transactions, count of individual prepaid or + # gift cards/codes purchased. Maps to EMV 3DS field `giftCardCount`. + # + # @return [Integer, nil] + optional :gift_card_count, Integer, nil?: true + + # @!attribute gift_card_currency + # In prepaid or gift card purchase transactions, currency code of the gift card. + # Maps to EMV 3DS field `giftCardCurr`. Permitted values: ISO 4217 three-character + # currency code (e.g., USD). + # + # @return [String, nil] + optional :gift_card_currency, String, nil?: true + + # @!attribute order_availability + # Indicates whether the purchase is for merchandise that is available now or at a + # future date. Maps to EMV 3DS field `preOrderPurchaseInd`. + # + # @return [Symbol, Lithic::Models::ThreeDSAuthentication::Merchant::RiskIndicator::OrderAvailability, nil] + optional :order_availability, + enum: -> { Lithic::ThreeDSAuthentication::Merchant::RiskIndicator::OrderAvailability }, + nil?: true + + # @!attribute pre_order_available_date + # In pre-order purchase transactions, the expected date that the merchandise will + # be available. Maps to EMV 3DS field `preOrderDate`. Permitted values: Date + # string in the ISO 8601 format yyyy-MM-dd'T'hh:mm:ssZ + # + # @return [Time, nil] + optional :pre_order_available_date, Time, nil?: true + + # @!attribute reorder_items + # Indicates whether the cardholder is reordering previously purchased merchandise. + # Maps to EMV 3DS field `reorderItemsInd`. + # + # @return [Symbol, Lithic::Models::ThreeDSAuthentication::Merchant::RiskIndicator::ReorderItems, nil] + optional :reorder_items, + enum: -> { Lithic::ThreeDSAuthentication::Merchant::RiskIndicator::ReorderItems }, + nil?: true + + # @!attribute shipping_method + # Shipping method that the cardholder chose for the transaction. If purchase + # includes one or more item, this indicator is used for the physical goods; if the + # purchase only includes digital goods, this indicator is used to describe the + # most expensive item purchased. Maps to EMV 3DS field `shipIndicator`. + # + # @return [Symbol, Lithic::Models::ThreeDSAuthentication::Merchant::RiskIndicator::ShippingMethod, nil] + optional :shipping_method, + enum: -> { Lithic::ThreeDSAuthentication::Merchant::RiskIndicator::ShippingMethod }, + nil?: true + + # @!method initialize(delivery_email_address: nil, delivery_time_frame: nil, gift_card_amount: nil, gift_card_count: nil, gift_card_currency: nil, order_availability: nil, pre_order_available_date: nil, reorder_items: nil, shipping_method: nil) + # Some parameter documentations has been truncated, see + # {Lithic::Models::ThreeDSAuthentication::Merchant::RiskIndicator} for more + # details. + # + # Object containing additional data indicating additional risk factors related to + # the e-commerce transaction. + # + # @param delivery_email_address [String, nil] In transactions with electronic delivery, email address to which merchandise is + # + # @param delivery_time_frame [Symbol, Lithic::Models::ThreeDSAuthentication::Merchant::RiskIndicator::DeliveryTimeFrame, nil] The delivery time frame for the merchandise. Maps to EMV 3DS field `deliveryTime + # + # @param gift_card_amount [Integer, nil] In prepaid or gift card purchase transactions, purchase amount total in major un + # + # @param gift_card_count [Integer, nil] In prepaid or gift card purchase transactions, count of individual prepaid or gi + # + # @param gift_card_currency [String, nil] In prepaid or gift card purchase transactions, currency code of the gift card. M + # + # @param order_availability [Symbol, Lithic::Models::ThreeDSAuthentication::Merchant::RiskIndicator::OrderAvailability, nil] Indicates whether the purchase is for merchandise that is available now or at a + # + # @param pre_order_available_date [Time, nil] In pre-order purchase transactions, the expected date that the merchandise will + # + # @param reorder_items [Symbol, Lithic::Models::ThreeDSAuthentication::Merchant::RiskIndicator::ReorderItems, nil] Indicates whether the cardholder is reordering previously purchased merchandise. + # + # @param shipping_method [Symbol, Lithic::Models::ThreeDSAuthentication::Merchant::RiskIndicator::ShippingMethod, nil] Shipping method that the cardholder chose for the transaction. If purchase inclu + + # The delivery time frame for the merchandise. Maps to EMV 3DS field + # `deliveryTimeframe`. + # + # @see Lithic::Models::ThreeDSAuthentication::Merchant::RiskIndicator#delivery_time_frame + module DeliveryTimeFrame + extend Lithic::Internal::Type::Enum + + ELECTRONIC_DELIVERY = :ELECTRONIC_DELIVERY + OVERNIGHT_SHIPPING = :OVERNIGHT_SHIPPING + SAME_DAY_SHIPPING = :SAME_DAY_SHIPPING + TWO_DAY_OR_MORE_SHIPPING = :TWO_DAY_OR_MORE_SHIPPING + + # @!method self.values + # @return [Array] + end + + # Indicates whether the purchase is for merchandise that is available now or at a + # future date. Maps to EMV 3DS field `preOrderPurchaseInd`. + # + # @see Lithic::Models::ThreeDSAuthentication::Merchant::RiskIndicator#order_availability + module OrderAvailability + extend Lithic::Internal::Type::Enum + + FUTURE_AVAILABILITY = :FUTURE_AVAILABILITY + MERCHANDISE_AVAILABLE = :MERCHANDISE_AVAILABLE + + # @!method self.values + # @return [Array] + end + + # Indicates whether the cardholder is reordering previously purchased merchandise. + # Maps to EMV 3DS field `reorderItemsInd`. + # + # @see Lithic::Models::ThreeDSAuthentication::Merchant::RiskIndicator#reorder_items + module ReorderItems + extend Lithic::Internal::Type::Enum + + FIRST_TIME_ORDERED = :FIRST_TIME_ORDERED + REORDERED = :REORDERED + + # @!method self.values + # @return [Array] + end + + # Shipping method that the cardholder chose for the transaction. If purchase + # includes one or more item, this indicator is used for the physical goods; if the + # purchase only includes digital goods, this indicator is used to describe the + # most expensive item purchased. Maps to EMV 3DS field `shipIndicator`. + # + # @see Lithic::Models::ThreeDSAuthentication::Merchant::RiskIndicator#shipping_method + module ShippingMethod + extend Lithic::Internal::Type::Enum + + DIGITAL_GOODS = :DIGITAL_GOODS + LOCKER_DELIVERY = :LOCKER_DELIVERY + OTHER = :OTHER + PICK_UP_AND_GO_DELIVERY = :PICK_UP_AND_GO_DELIVERY + SHIP_TO_BILLING_ADDRESS = :SHIP_TO_BILLING_ADDRESS + SHIP_TO_NON_BILLING_ADDRESS = :SHIP_TO_NON_BILLING_ADDRESS + SHIP_TO_OTHER_VERIFIED_ADDRESS = :SHIP_TO_OTHER_VERIFIED_ADDRESS + SHIP_TO_STORE = :SHIP_TO_STORE + TRAVEL_AND_EVENT_TICKETS = :TRAVEL_AND_EVENT_TICKETS + + # @!method self.values + # @return [Array] + end + end + end + + # Either PAYMENT_AUTHENTICATION or NON_PAYMENT_AUTHENTICATION. For + # NON_PAYMENT_AUTHENTICATION, additional_data and transaction fields are not + # populated. + # + # @see Lithic::Models::ThreeDSAuthentication#message_category + module MessageCategory + extend Lithic::Internal::Type::Enum + + NON_PAYMENT_AUTHENTICATION = :NON_PAYMENT_AUTHENTICATION + PAYMENT_AUTHENTICATION = :PAYMENT_AUTHENTICATION + + # @!method self.values + # @return [Array] + end + + # Indicates whether a challenge is requested for this transaction + # + # - `NO_PREFERENCE` - No Preference + # - `NO_CHALLENGE_REQUESTED` - No Challenge Requested + # - `CHALLENGE_PREFERENCE` - Challenge requested (3DS Requestor preference) + # - `CHALLENGE_MANDATE` - Challenge requested (Mandate) + # - `NO_CHALLENGE_RISK_ALREADY_ASSESSED` - No Challenge requested (Transactional + # risk analysis is already performed) + # - `DATA_SHARE_ONLY` - No Challenge requested (Data Share Only) + # - `OTHER` - Other indicators not captured by above. These are rarely used + # + # @see Lithic::Models::ThreeDSAuthentication#three_ds_requestor_challenge_indicator + module ThreeDSRequestorChallengeIndicator + extend Lithic::Internal::Type::Enum + + NO_PREFERENCE = :NO_PREFERENCE + NO_CHALLENGE_REQUESTED = :NO_CHALLENGE_REQUESTED + CHALLENGE_PREFERENCE = :CHALLENGE_PREFERENCE + CHALLENGE_MANDATE = :CHALLENGE_MANDATE + NO_CHALLENGE_RISK_ALREADY_ASSESSED = :NO_CHALLENGE_RISK_ALREADY_ASSESSED + DATA_SHARE_ONLY = :DATA_SHARE_ONLY + OTHER = :OTHER + + # @!method self.values + # @return [Array] + end + + # @see Lithic::Models::ThreeDSAuthentication#additional_data + class AdditionalData < Lithic::Internal::Type::BaseModel + # @!attribute network_decision + # Mastercard only: Indicates whether the network would have considered the + # authentication request to be low risk or not. + # + # @return [Symbol, Lithic::Models::ThreeDSAuthentication::AdditionalData::NetworkDecision, nil] + optional :network_decision, + enum: -> { Lithic::ThreeDSAuthentication::AdditionalData::NetworkDecision }, + nil?: true + + # @!attribute network_risk_score + # Mastercard only: Assessment by the network of the authentication risk level, + # with a higher value indicating a higher amount of risk. Permitted values: + # Integer between 0-950, in increments of 50. + # + # @return [Integer, nil] + optional :network_risk_score, Integer, nil?: true + + # @!method initialize(network_decision: nil, network_risk_score: nil) + # Some parameter documentations has been truncated, see + # {Lithic::Models::ThreeDSAuthentication::AdditionalData} for more details. + # + # Object containing additional data about the 3DS request that is beyond the EMV + # 3DS standard spec (e.g., specific fields that only certain card networks send + # but are not required across all 3DS requests). + # + # @param network_decision [Symbol, Lithic::Models::ThreeDSAuthentication::AdditionalData::NetworkDecision, nil] Mastercard only: Indicates whether the network would have considered the authent + # + # @param network_risk_score [Integer, nil] Mastercard only: Assessment by the network of the authentication risk level, wit + + # Mastercard only: Indicates whether the network would have considered the + # authentication request to be low risk or not. + # + # @see Lithic::Models::ThreeDSAuthentication::AdditionalData#network_decision + module NetworkDecision + extend Lithic::Internal::Type::Enum + + LOW_RISK = :LOW_RISK + NOT_LOW_RISK = :NOT_LOW_RISK + + # @!method self.values + # @return [Array] + end + end + + # @see Lithic::Models::ThreeDSAuthentication#app + class App < Lithic::Internal::Type::BaseModel + # @!attribute device + # Device model: e.g. "Apple iPhone 16". + # + # @return [String, nil] + optional :device, String, nil?: true + + # @!attribute device_info + # Raw device information - base64-encoded JSON object. Maps to EMV 3DS field + # `deviceInfo`. + # + # @return [String, nil] + optional :device_info, String, nil?: true + + # @!attribute ip + # IP address of the device. + # + # @return [String, nil] + optional :ip, String + + # @!attribute latitude + # Latitude coordinate of current device location. + # + # @return [Float, nil] + optional :latitude, Float, nil?: true + + # @!attribute locale + # Device locale: e.g. "en-US". + # + # @return [String, nil] + optional :locale, String, nil?: true + + # @!attribute longitude + # Longitude coordinate of current device location. + # + # @return [Float, nil] + optional :longitude, Float, nil?: true + + # @!attribute os + # Operating System: e.g. "Android 12", "iOS 17.1". + # + # @return [String, nil] + optional :os, String, nil?: true + + # @!attribute platform + # Device platform: Android, iOS, Windows, etc. + # + # @return [String, nil] + optional :platform, String, nil?: true + + # @!attribute screen_height + # Screen height in pixels. + # + # @return [Integer, nil] + optional :screen_height, Integer, nil?: true + + # @!attribute screen_width + # Screen width in pixels. + # + # @return [Integer, nil] + optional :screen_width, Integer, nil?: true + + # @!attribute time_zone + # Time zone offset in minutes between UTC and device local time. + # + # @return [String, nil] + optional :time_zone, String, nil?: true + + # @!method initialize(device: nil, device_info: nil, ip: nil, latitude: nil, locale: nil, longitude: nil, os: nil, platform: nil, screen_height: nil, screen_width: nil, time_zone: nil) + # Some parameter documentations has been truncated, see + # {Lithic::Models::ThreeDSAuthentication::App} for more details. + # + # Object containing data about the app used in the e-commerce transaction. Present + # if the channel is 'APP_BASED'. + # + # @param device [String, nil] Device model: e.g. "Apple iPhone 16". + # + # @param device_info [String, nil] Raw device information - base64-encoded JSON object. Maps to EMV 3DS field `devi + # + # @param ip [String] IP address of the device. + # + # @param latitude [Float, nil] Latitude coordinate of current device location. + # + # @param locale [String, nil] Device locale: e.g. "en-US". + # + # @param longitude [Float, nil] Longitude coordinate of current device location. + # + # @param os [String, nil] Operating System: e.g. "Android 12", "iOS 17.1". + # + # @param platform [String, nil] Device platform: Android, iOS, Windows, etc. + # + # @param screen_height [Integer, nil] Screen height in pixels. + # + # @param screen_width [Integer, nil] Screen width in pixels. + # + # @param time_zone [String, nil] Time zone offset in minutes between UTC and device local time. + end + + # Type of authentication request - i.e., the type of transaction or interaction is + # causing the merchant to request an authentication. Maps to EMV 3DS field + # `threeDSRequestorAuthenticationInd`. + # + # @see Lithic::Models::ThreeDSAuthentication#authentication_request_type + module AuthenticationRequestType + extend Lithic::Internal::Type::Enum + + ADD_CARD = :ADD_CARD + BILLING_AGREEMENT = :BILLING_AGREEMENT + DELAYED_SHIPMENT = :DELAYED_SHIPMENT + EMV_TOKEN_CARDHOLDER_VERIFICATION = :EMV_TOKEN_CARDHOLDER_VERIFICATION + INSTALLMENT_TRANSACTION = :INSTALLMENT_TRANSACTION + MAINTAIN_CARD = :MAINTAIN_CARD + PAYMENT_TRANSACTION = :PAYMENT_TRANSACTION + RECURRING_TRANSACTION = :RECURRING_TRANSACTION + SPLIT_PAYMENT = :SPLIT_PAYMENT + SPLIT_SHIPMENT = :SPLIT_SHIPMENT + + # @!method self.values + # @return [Array] + end + + # @see Lithic::Models::ThreeDSAuthentication#browser + class Browser < Lithic::Internal::Type::BaseModel + # @!attribute accept_header + # Content of the HTTP accept headers as sent from the cardholder's browser to the + # 3DS requestor (e.g., merchant or digital wallet). + # + # @return [String, nil] + optional :accept_header, String, nil?: true + + # @!attribute ip + # IP address of the browser as returned by the HTTP headers to the 3DS requestor + # (e.g., merchant or digital wallet). Maps to EMV 3DS field `browserIP`. + # + # @return [String, nil] + optional :ip, String, nil?: true + + # @!attribute java_enabled + # Indicates whether the cardholder's browser has the ability to execute Java. Maps + # to EMV 3DS field `browserJavaEnabled`. + # + # @return [Boolean, nil] + optional :java_enabled, Lithic::Internal::Type::Boolean, nil?: true + + # @!attribute javascript_enabled + # Indicates whether the cardholder's browser has the ability to execute + # JavaScript. Maps to EMV 3DS field `browserJavascriptEnabled`. + # + # @return [Boolean, nil] + optional :javascript_enabled, Lithic::Internal::Type::Boolean, nil?: true + + # @!attribute language + # Language of the cardholder's browser as defined in IETF BCP47. Maps to EMV 3DS + # field `browserLanguage`. + # + # @return [String, nil] + optional :language, String, nil?: true + + # @!attribute time_zone + # Time zone offset in minutes between UTC and browser local time. Maps to EMV 3DS + # field `browserTz`. + # + # @return [String, nil] + optional :time_zone, String, nil?: true + + # @!attribute user_agent + # Content of the HTTP user-agent header. Maps to EMV 3DS field `browserUserAgent`. + # + # @return [String, nil] + optional :user_agent, String, nil?: true + + # @!method initialize(accept_header: nil, ip: nil, java_enabled: nil, javascript_enabled: nil, language: nil, time_zone: nil, user_agent: nil) + # Some parameter documentations has been truncated, see + # {Lithic::Models::ThreeDSAuthentication::Browser} for more details. + # + # Object containing data about the browser used in the e-commerce transaction. + # Present if the channel is 'BROWSER'. + # + # @param accept_header [String, nil] Content of the HTTP accept headers as sent from the cardholder's browser to the + # + # @param ip [String, nil] IP address of the browser as returned by the HTTP headers to the 3DS requestor ( + # + # @param java_enabled [Boolean, nil] Indicates whether the cardholder's browser has the ability to execute Java. Maps + # + # @param javascript_enabled [Boolean, nil] Indicates whether the cardholder's browser has the ability to execute JavaScript + # + # @param language [String, nil] Language of the cardholder's browser as defined in IETF BCP47. Maps to EMV 3DS f + # + # @param time_zone [String, nil] Time zone offset in minutes between UTC and browser local time. Maps to EMV 3DS + # + # @param user_agent [String, nil] Content of the HTTP user-agent header. Maps to EMV 3DS field `browserUserAgent`. + end + + # @see Lithic::Models::ThreeDSAuthentication#challenge_metadata + class ChallengeMetadata < Lithic::Internal::Type::BaseModel + # @!attribute method_type + # The type of challenge method used for authentication. + # + # @return [Symbol, Lithic::Models::ThreeDSAuthentication::ChallengeMetadata::MethodType] + required :method_type, enum: -> { Lithic::ThreeDSAuthentication::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::ThreeDSAuthentication::ChallengeMetadata::Status] + required :status, enum: -> { Lithic::ThreeDSAuthentication::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:, status:, phone_number: nil) + # Some parameter documentations has been truncated, see + # {Lithic::Models::ThreeDSAuthentication::ChallengeMetadata} for more details. + # + # Metadata about the challenge method and delivery. Only present when a challenge + # is triggered. + # + # @param method_type [Symbol, Lithic::Models::ThreeDSAuthentication::ChallengeMetadata::MethodType] The type of challenge method used for authentication. + # + # @param status [Symbol, Lithic::Models::ThreeDSAuthentication::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. + # + # @see Lithic::Models::ThreeDSAuthentication::ChallengeMetadata#method_type + module MethodType + extend Lithic::Internal::Type::Enum + + SMS_OTP = :SMS_OTP + OUT_OF_BAND = :OUT_OF_BAND + + # @!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::ThreeDSAuthentication::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 + # for which a decision has not yet been made (e.g. in-flight customer decisioning + # request). + # + # @see Lithic::Models::ThreeDSAuthentication#challenge_orchestrated_by + module ChallengeOrchestratedBy + extend Lithic::Internal::Type::Enum + + LITHIC = :LITHIC + CUSTOMER = :CUSTOMER + NO_CHALLENGE = :NO_CHALLENGE + + # @!method self.values + # @return [Array] + end + + # Entity that made the authentication decision. This won't be set for + # authentications for which a decision has not yet been made (e.g. in-flight + # customer decisioning request). + # + # @see Lithic::Models::ThreeDSAuthentication#decision_made_by + module DecisionMadeBy + extend Lithic::Internal::Type::Enum + + LITHIC_RULES = :LITHIC_RULES + LITHIC_DEFAULT = :LITHIC_DEFAULT + CUSTOMER_RULES = :CUSTOMER_RULES + CUSTOMER_ENDPOINT = :CUSTOMER_ENDPOINT + NETWORK = :NETWORK + UNKNOWN = :UNKNOWN + + # @!method self.values + # @return [Array] + end + + # Type of 3DS Requestor Initiated (3RI) request — i.e., a 3DS authentication that + # takes place at the initiation of the merchant rather than the cardholder. The + # most common example of this is where a merchant is authenticating before billing + # for a recurring transaction such as a pay TV subscription or a utility bill. + # Maps to EMV 3DS field `threeRIInd`. + # + # @see Lithic::Models::ThreeDSAuthentication#three_ri_request_type + module ThreeRiRequestType + extend Lithic::Internal::Type::Enum + + ACCOUNT_VERIFICATION = :ACCOUNT_VERIFICATION + ADD_CARD = :ADD_CARD + BILLING_AGREEMENT = :BILLING_AGREEMENT + CARD_SECURITY_CODE_STATUS_CHECK = :CARD_SECURITY_CODE_STATUS_CHECK + DELAYED_SHIPMENT = :DELAYED_SHIPMENT + DEVICE_BINDING_STATUS_CHECK = :DEVICE_BINDING_STATUS_CHECK + INSTALLMENT_TRANSACTION = :INSTALLMENT_TRANSACTION + MAIL_ORDER = :MAIL_ORDER + MAINTAIN_CARD_INFO = :MAINTAIN_CARD_INFO + OTHER_PAYMENT = :OTHER_PAYMENT + RECURRING_TRANSACTION = :RECURRING_TRANSACTION + SPLIT_PAYMENT = :SPLIT_PAYMENT + SPLIT_SHIPMENT = :SPLIT_SHIPMENT + TELEPHONE_ORDER = :TELEPHONE_ORDER + TOP_UP = :TOP_UP + TRUST_LIST_STATUS_CHECK = :TRUST_LIST_STATUS_CHECK + + # @!method self.values + # @return [Array] + end + + # @see Lithic::Models::ThreeDSAuthentication#transaction + class Transaction < Lithic::Internal::Type::BaseModel + # @!attribute amount + # Amount of the purchase in minor units of currency with all punctuation removed. + # Maps to EMV 3DS field `purchaseAmount`. + # + # @return [Float] + required :amount, Float + + # @!attribute cardholder_amount + # Approximate amount of the purchase in minor units of cardholder currency. + # Derived from `amount` using a daily conversion rate. + # + # @return [Float, nil] + required :cardholder_amount, Float, nil?: true + + # @!attribute currency + # Currency of the purchase. Maps to EMV 3DS field `purchaseCurrency`. Permitted + # values: ISO 4217 three-character currency code (e.g., USD). + # + # @return [String] + required :currency, String + + # @!attribute currency_exponent + # Minor units of currency, as specified in ISO 4217 currency exponent. Maps to EMV + # 3DS field `purchaseExponent`. + # + # @return [Float] + required :currency_exponent, Float + + # @!attribute date_time + # Date and time when the authentication was generated by the merchant/acquirer's + # 3DS server. Maps to EMV 3DS field `purchaseDate`. Permitted values: Date string + # in the ISO 8601 format yyyy-MM-dd'T'hh:mm:ssZ. + # + # @return [Time] + required :date_time, Time + + # @!attribute type + # Type of the transaction for which a 3DS authentication request is occurring. + # Maps to EMV 3DS field `transType`. + # + # @return [Symbol, Lithic::Models::ThreeDSAuthentication::Transaction::Type, nil] + required :type, enum: -> { Lithic::ThreeDSAuthentication::Transaction::Type }, nil?: true + + # @!method initialize(amount:, cardholder_amount:, currency:, currency_exponent:, date_time:, type:) + # Some parameter documentations has been truncated, see + # {Lithic::Models::ThreeDSAuthentication::Transaction} for more details. + # + # Object containing data about the e-commerce transaction for which the merchant + # is requesting authentication. + # + # @param amount [Float] Amount of the purchase in minor units of currency with all punctuation removed. + # + # @param cardholder_amount [Float, nil] Approximate amount of the purchase in minor units of cardholder currency. Derive + # + # @param currency [String] Currency of the purchase. Maps to EMV 3DS field `purchaseCurrency`. Permitted va + # + # @param currency_exponent [Float] Minor units of currency, as specified in ISO 4217 currency exponent. Maps to EMV + # + # @param date_time [Time] Date and time when the authentication was generated by the merchant/acquirer's 3 + # + # @param type [Symbol, Lithic::Models::ThreeDSAuthentication::Transaction::Type, nil] Type of the transaction for which a 3DS authentication request is occurring. Map + + # Type of the transaction for which a 3DS authentication request is occurring. + # Maps to EMV 3DS field `transType`. + # + # @see Lithic::Models::ThreeDSAuthentication::Transaction#type + module Type + extend Lithic::Internal::Type::Enum + + ACCOUNT_FUNDING = :ACCOUNT_FUNDING + CHECK_ACCEPTANCE = :CHECK_ACCEPTANCE + GOODS_SERVICE_PURCHASE = :GOODS_SERVICE_PURCHASE + PREPAID_ACTIVATION_AND_LOAD = :PREPAID_ACTIVATION_AND_LOAD + QUASI_CASH_TRANSACTION = :QUASI_CASH_TRANSACTION + + # @!method self.values + # @return [Array] + end + end + end + end +end diff --git a/lib/lithic/models/token_info.rb b/lib/lithic/models/token_info.rb new file mode 100644 index 00000000..c6b9e173 --- /dev/null +++ b/lib/lithic/models/token_info.rb @@ -0,0 +1,42 @@ +# frozen_string_literal: true + +module Lithic + module Models + class TokenInfo < Lithic::Internal::Type::BaseModel + # @!attribute wallet_type + # The wallet_type field will indicate the source of the token. Possible token + # sources include digital wallets (Apple, Google, or Samsung Pay), merchant + # tokenization, and “other” sources like in-flight commerce. Masterpass is not + # currently supported and is included for future use. + # + # @return [Symbol, Lithic::Models::TokenInfo::WalletType] + required :wallet_type, enum: -> { Lithic::TokenInfo::WalletType } + + # @!method initialize(wallet_type:) + # Some parameter documentations has been truncated, see + # {Lithic::Models::TokenInfo} for more details. + # + # @param wallet_type [Symbol, Lithic::Models::TokenInfo::WalletType] The wallet_type field will indicate the source of the token. Possible token sour + + # The wallet_type field will indicate the source of the token. Possible token + # sources include digital wallets (Apple, Google, or Samsung Pay), merchant + # tokenization, and “other” sources like in-flight commerce. Masterpass is not + # currently supported and is included for future use. + # + # @see Lithic::Models::TokenInfo#wallet_type + module WalletType + extend Lithic::Internal::Type::Enum + + APPLE_PAY = :APPLE_PAY + GOOGLE_PAY = :GOOGLE_PAY + MASTERPASS = :MASTERPASS + MERCHANT = :MERCHANT + OTHER = :OTHER + SAMSUNG_PAY = :SAMSUNG_PAY + + # @!method self.values + # @return [Array] + end + end + end +end diff --git a/lib/lithic/models/tokenization.rb b/lib/lithic/models/tokenization.rb index 3a4c79f2..7232d870 100644 --- a/lib/lithic/models/tokenization.rb +++ b/lib/lithic/models/tokenization.rb @@ -238,22 +238,22 @@ class Event < Lithic::Internal::Type::BaseModel # @!attribute rule_results # Results from rules that were evaluated for this tokenization # - # @return [Array, nil] - optional :rule_results, -> { Lithic::Internal::Type::ArrayOf[Lithic::Tokenization::Event::RuleResult] } + # @return [Array, nil] + optional :rule_results, -> { Lithic::Internal::Type::ArrayOf[Lithic::TokenizationRuleResult] } # @!attribute tokenization_decline_reasons # List of reasons why the tokenization was declined # - # @return [Array, nil] + # @return [Array, nil] optional :tokenization_decline_reasons, - -> { Lithic::Internal::Type::ArrayOf[enum: Lithic::Tokenization::Event::TokenizationDeclineReason] } + -> { Lithic::Internal::Type::ArrayOf[enum: Lithic::TokenizationDeclineReason] } # @!attribute tokenization_tfa_reasons # List of reasons why two-factor authentication was required # - # @return [Array, nil] + # @return [Array, nil] optional :tokenization_tfa_reasons, - -> { Lithic::Internal::Type::ArrayOf[enum: Lithic::Tokenization::Event::TokenizationTfaReason] } + -> { Lithic::Internal::Type::ArrayOf[enum: Lithic::TokenizationTfaReason] } # @!attribute type # Enum representing the type of tokenization event that occurred @@ -268,11 +268,11 @@ class Event < Lithic::Internal::Type::BaseModel # # @param result [Symbol, Lithic::Models::Tokenization::Event::Result] Enum representing the result of the tokenization event # - # @param rule_results [Array] Results from rules that were evaluated for this tokenization + # @param rule_results [Array] Results from rules that were evaluated for this tokenization # - # @param tokenization_decline_reasons [Array] List of reasons why the tokenization was declined + # @param tokenization_decline_reasons [Array] List of reasons why the tokenization was declined # - # @param tokenization_tfa_reasons [Array] List of reasons why two-factor authentication was required + # @param tokenization_tfa_reasons [Array] List of reasons why two-factor authentication was required # # @param type [Symbol, Lithic::Models::Tokenization::Event::Type] Enum representing the type of tokenization event that occurred @@ -299,108 +299,6 @@ module Result # @return [Array] end - class RuleResult < Lithic::Internal::Type::BaseModel - # @!attribute auth_rule_token - # The Auth Rule Token associated with the rule. If this is set to null, then the - # result was not associated with a customer-configured rule. This may happen in - # cases where a tokenization is declined or requires TFA due to a - # Lithic-configured security or compliance rule, for example. - # - # @return [String, nil] - required :auth_rule_token, String, nil?: true - - # @!attribute explanation - # A human-readable explanation outlining the motivation for the rule's result - # - # @return [String, nil] - required :explanation, String, nil?: true - - # @!attribute name - # The name for the rule, if any was configured - # - # @return [String, nil] - required :name, String, nil?: true - - # @!attribute result - # The result associated with this rule - # - # @return [Symbol, Lithic::Models::Tokenization::Event::RuleResult::Result] - required :result, enum: -> { Lithic::Tokenization::Event::RuleResult::Result } - - # @!method initialize(auth_rule_token:, explanation:, name:, result:) - # Some parameter documentations has been truncated, see - # {Lithic::Models::Tokenization::Event::RuleResult} for more details. - # - # @param auth_rule_token [String, nil] The Auth Rule Token associated with the rule. If this is set to null, then the r - # - # @param explanation [String, nil] A human-readable explanation outlining the motivation for the rule's result - # - # @param name [String, nil] The name for the rule, if any was configured - # - # @param result [Symbol, Lithic::Models::Tokenization::Event::RuleResult::Result] The result associated with this rule - - # The result associated with this rule - # - # @see Lithic::Models::Tokenization::Event::RuleResult#result - module Result - extend Lithic::Internal::Type::Enum - - APPROVED = :APPROVED - DECLINED = :DECLINED - REQUIRE_TFA = :REQUIRE_TFA - ERROR = :ERROR - - # @!method self.values - # @return [Array] - end - end - - # Reason code for why a tokenization was declined - module TokenizationDeclineReason - extend Lithic::Internal::Type::Enum - - ACCOUNT_SCORE_1 = :ACCOUNT_SCORE_1 - DEVICE_SCORE_1 = :DEVICE_SCORE_1 - ALL_WALLET_DECLINE_REASONS_PRESENT = :ALL_WALLET_DECLINE_REASONS_PRESENT - WALLET_RECOMMENDED_DECISION_RED = :WALLET_RECOMMENDED_DECISION_RED - CVC_MISMATCH = :CVC_MISMATCH - CARD_EXPIRY_MONTH_MISMATCH = :CARD_EXPIRY_MONTH_MISMATCH - CARD_EXPIRY_YEAR_MISMATCH = :CARD_EXPIRY_YEAR_MISMATCH - CARD_INVALID_STATE = :CARD_INVALID_STATE - CUSTOMER_RED_PATH = :CUSTOMER_RED_PATH - INVALID_CUSTOMER_RESPONSE = :INVALID_CUSTOMER_RESPONSE - NETWORK_FAILURE = :NETWORK_FAILURE - GENERIC_DECLINE = :GENERIC_DECLINE - DIGITAL_CARD_ART_REQUIRED = :DIGITAL_CARD_ART_REQUIRED - - # @!method self.values - # @return [Array] - end - - # Reason code for why a tokenization required two-factor authentication - module TokenizationTfaReason - extend Lithic::Internal::Type::Enum - - WALLET_RECOMMENDED_TFA = :WALLET_RECOMMENDED_TFA - SUSPICIOUS_ACTIVITY = :SUSPICIOUS_ACTIVITY - DEVICE_RECENTLY_LOST = :DEVICE_RECENTLY_LOST - TOO_MANY_RECENT_ATTEMPTS = :TOO_MANY_RECENT_ATTEMPTS - TOO_MANY_RECENT_TOKENS = :TOO_MANY_RECENT_TOKENS - TOO_MANY_DIFFERENT_CARDHOLDERS = :TOO_MANY_DIFFERENT_CARDHOLDERS - OUTSIDE_HOME_TERRITORY = :OUTSIDE_HOME_TERRITORY - HAS_SUSPENDED_TOKENS = :HAS_SUSPENDED_TOKENS - HIGH_RISK = :HIGH_RISK - ACCOUNT_SCORE_LOW = :ACCOUNT_SCORE_LOW - DEVICE_SCORE_LOW = :DEVICE_SCORE_LOW - CARD_STATE_TFA = :CARD_STATE_TFA - HARDCODED_TFA = :HARDCODED_TFA - CUSTOMER_RULE_TFA = :CUSTOMER_RULE_TFA - DEVICE_HOST_CARD_EMULATION = :DEVICE_HOST_CARD_EMULATION - - # @!method self.values - # @return [Array] - end - # Enum representing the type of tokenization event that occurred # # @see Lithic::Models::Tokenization::Event#type diff --git a/lib/lithic/models/tokenization_decline_reason.rb b/lib/lithic/models/tokenization_decline_reason.rb new file mode 100644 index 00000000..301800cd --- /dev/null +++ b/lib/lithic/models/tokenization_decline_reason.rb @@ -0,0 +1,27 @@ +# frozen_string_literal: true + +module Lithic + module Models + # Reason code for why a tokenization was declined + module TokenizationDeclineReason + extend Lithic::Internal::Type::Enum + + ACCOUNT_SCORE_1 = :ACCOUNT_SCORE_1 + DEVICE_SCORE_1 = :DEVICE_SCORE_1 + ALL_WALLET_DECLINE_REASONS_PRESENT = :ALL_WALLET_DECLINE_REASONS_PRESENT + WALLET_RECOMMENDED_DECISION_RED = :WALLET_RECOMMENDED_DECISION_RED + CVC_MISMATCH = :CVC_MISMATCH + CARD_EXPIRY_MONTH_MISMATCH = :CARD_EXPIRY_MONTH_MISMATCH + CARD_EXPIRY_YEAR_MISMATCH = :CARD_EXPIRY_YEAR_MISMATCH + CARD_INVALID_STATE = :CARD_INVALID_STATE + CUSTOMER_RED_PATH = :CUSTOMER_RED_PATH + INVALID_CUSTOMER_RESPONSE = :INVALID_CUSTOMER_RESPONSE + NETWORK_FAILURE = :NETWORK_FAILURE + GENERIC_DECLINE = :GENERIC_DECLINE + DIGITAL_CARD_ART_REQUIRED = :DIGITAL_CARD_ART_REQUIRED + + # @!method self.values + # @return [Array] + end + end +end diff --git a/lib/lithic/models/tokenization_rule_result.rb b/lib/lithic/models/tokenization_rule_result.rb new file mode 100644 index 00000000..ab5d4f65 --- /dev/null +++ b/lib/lithic/models/tokenization_rule_result.rb @@ -0,0 +1,61 @@ +# frozen_string_literal: true + +module Lithic + module Models + class TokenizationRuleResult < Lithic::Internal::Type::BaseModel + # @!attribute auth_rule_token + # The Auth Rule Token associated with the rule. If this is set to null, then the + # result was not associated with a customer-configured rule. This may happen in + # cases where a tokenization is declined or requires TFA due to a + # Lithic-configured security or compliance rule, for example. + # + # @return [String, nil] + required :auth_rule_token, String, nil?: true + + # @!attribute explanation + # A human-readable explanation outlining the motivation for the rule's result + # + # @return [String, nil] + required :explanation, String, nil?: true + + # @!attribute name + # The name for the rule, if any was configured + # + # @return [String, nil] + required :name, String, nil?: true + + # @!attribute result + # The result associated with this rule + # + # @return [Symbol, Lithic::Models::TokenizationRuleResult::Result] + required :result, enum: -> { Lithic::TokenizationRuleResult::Result } + + # @!method initialize(auth_rule_token:, explanation:, name:, result:) + # Some parameter documentations has been truncated, see + # {Lithic::Models::TokenizationRuleResult} for more details. + # + # @param auth_rule_token [String, nil] The Auth Rule Token associated with the rule. If this is set to null, then the r + # + # @param explanation [String, nil] A human-readable explanation outlining the motivation for the rule's result + # + # @param name [String, nil] The name for the rule, if any was configured + # + # @param result [Symbol, Lithic::Models::TokenizationRuleResult::Result] The result associated with this rule + + # The result associated with this rule + # + # @see Lithic::Models::TokenizationRuleResult#result + module Result + extend Lithic::Internal::Type::Enum + + APPROVED = :APPROVED + DECLINED = :DECLINED + REQUIRE_TFA = :REQUIRE_TFA + ERROR = :ERROR + + # @!method self.values + # @return [Array] + end + end + end +end diff --git a/lib/lithic/models/tokenization_simulate_response.rb b/lib/lithic/models/tokenization_simulate_response.rb deleted file mode 100644 index 92b44dec..00000000 --- a/lib/lithic/models/tokenization_simulate_response.rb +++ /dev/null @@ -1,16 +0,0 @@ -# frozen_string_literal: true - -module Lithic - module Models - # @see Lithic::Resources::Tokenizations#simulate - class TokenizationSimulateResponse < Lithic::Internal::Type::BaseModel - # @!attribute data - # - # @return [Array, nil] - optional :data, -> { Lithic::Internal::Type::ArrayOf[Lithic::Tokenization] } - - # @!method initialize(data: nil) - # @param data [Array] - end - end -end diff --git a/lib/lithic/models/tokenization_tfa_reason.rb b/lib/lithic/models/tokenization_tfa_reason.rb new file mode 100644 index 00000000..f825fc56 --- /dev/null +++ b/lib/lithic/models/tokenization_tfa_reason.rb @@ -0,0 +1,29 @@ +# frozen_string_literal: true + +module Lithic + module Models + # Reason code for why a tokenization required two-factor authentication + module TokenizationTfaReason + extend Lithic::Internal::Type::Enum + + WALLET_RECOMMENDED_TFA = :WALLET_RECOMMENDED_TFA + SUSPICIOUS_ACTIVITY = :SUSPICIOUS_ACTIVITY + DEVICE_RECENTLY_LOST = :DEVICE_RECENTLY_LOST + TOO_MANY_RECENT_ATTEMPTS = :TOO_MANY_RECENT_ATTEMPTS + TOO_MANY_RECENT_TOKENS = :TOO_MANY_RECENT_TOKENS + TOO_MANY_DIFFERENT_CARDHOLDERS = :TOO_MANY_DIFFERENT_CARDHOLDERS + OUTSIDE_HOME_TERRITORY = :OUTSIDE_HOME_TERRITORY + HAS_SUSPENDED_TOKENS = :HAS_SUSPENDED_TOKENS + HIGH_RISK = :HIGH_RISK + ACCOUNT_SCORE_LOW = :ACCOUNT_SCORE_LOW + DEVICE_SCORE_LOW = :DEVICE_SCORE_LOW + CARD_STATE_TFA = :CARD_STATE_TFA + HARDCODED_TFA = :HARDCODED_TFA + CUSTOMER_RULE_TFA = :CUSTOMER_RULE_TFA + DEVICE_HOST_CARD_EMULATION = :DEVICE_HOST_CARD_EMULATION + + # @!method self.values + # @return [Array] + end + end +end diff --git a/lib/lithic/models/tokenization_update_digital_card_art_response.rb b/lib/lithic/models/tokenization_update_digital_card_art_response.rb deleted file mode 100644 index 9d84cfac..00000000 --- a/lib/lithic/models/tokenization_update_digital_card_art_response.rb +++ /dev/null @@ -1,16 +0,0 @@ -# frozen_string_literal: true - -module Lithic - module Models - # @see Lithic::Resources::Tokenizations#update_digital_card_art - class TokenizationUpdateDigitalCardArtResponse < 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/transaction.rb b/lib/lithic/models/transaction.rb index 65243f62..c0dfb3c7 100644 --- a/lib/lithic/models/transaction.rb +++ b/lib/lithic/models/transaction.rb @@ -78,8 +78,8 @@ class Transaction < Lithic::Internal::Type::BaseModel # @!attribute cardholder_authentication # - # @return [Lithic::Models::Transaction::CardholderAuthentication, nil] - required :cardholder_authentication, -> { Lithic::Transaction::CardholderAuthentication }, nil?: true + # @return [Lithic::Models::CardholderAuthentication, nil] + required :cardholder_authentication, -> { Lithic::CardholderAuthentication }, nil?: true # @!attribute created # Date and time when the transaction first occurred. UTC time zone. @@ -164,8 +164,8 @@ class Transaction < Lithic::Internal::Type::BaseModel # @!attribute token_info # - # @return [Lithic::Models::Transaction::TokenInfo, nil] - required :token_info, -> { Lithic::Transaction::TokenInfo }, nil?: true + # @return [Lithic::Models::TokenInfo, nil] + required :token_info, -> { Lithic::TokenInfo }, nil?: true # @!attribute updated # Date and time when the transaction last updated. UTC time zone. @@ -202,7 +202,7 @@ class Transaction < Lithic::Internal::Type::BaseModel # # @param card_token [String] Token for the card used in this transaction. # - # @param cardholder_authentication [Lithic::Models::Transaction::CardholderAuthentication, nil] + # @param cardholder_authentication [Lithic::Models::CardholderAuthentication, nil] # # @param created [Time] Date and time when the transaction first occurred. UTC time zone. # @@ -228,7 +228,7 @@ class Transaction < Lithic::Internal::Type::BaseModel # # @param status [Symbol, Lithic::Models::Transaction::Status] Status of the transaction. # - # @param token_info [Lithic::Models::Transaction::TokenInfo, nil] + # @param token_info [Lithic::Models::TokenInfo, nil] # # @param updated [Time] Date and time when the transaction last updated. UTC time zone. # @@ -376,136 +376,6 @@ class Avs < Lithic::Internal::Type::BaseModel # @param zipcode [String] Cardholder ZIP code end - # @see Lithic::Models::Transaction#cardholder_authentication - class CardholderAuthentication < Lithic::Internal::Type::BaseModel - # @!attribute authentication_method - # Indicates the method used to authenticate the cardholder. - # - # @return [Symbol, Lithic::Models::Transaction::CardholderAuthentication::AuthenticationMethod] - required :authentication_method, - enum: -> { Lithic::Transaction::CardholderAuthentication::AuthenticationMethod } - - # @!attribute authentication_result - # Indicates the outcome of the 3DS authentication process. - # - # @return [Symbol, Lithic::Models::Transaction::CardholderAuthentication::AuthenticationResult] - required :authentication_result, - enum: -> { Lithic::Transaction::CardholderAuthentication::AuthenticationResult } - - # @!attribute decision_made_by - # Indicates which party made the 3DS authentication decision. - # - # @return [Symbol, Lithic::Models::Transaction::CardholderAuthentication::DecisionMadeBy] - required :decision_made_by, enum: -> { Lithic::Transaction::CardholderAuthentication::DecisionMadeBy } - - # @!attribute liability_shift - # Indicates whether chargeback liability shift applies to the transaction. - # Possible enum values: - # - # - `3DS_AUTHENTICATED`: The transaction was fully authenticated through a 3-D - # Secure flow, chargeback liability shift applies. - # - `NONE`: Chargeback liability shift has not shifted to the issuer, i.e. the - # merchant is liable. - # - `TOKEN_AUTHENTICATED`: The transaction was a tokenized payment with validated - # cryptography, possibly recurring. Chargeback liability shift to the issuer - # applies. - # - # @return [Symbol, Lithic::Models::Transaction::CardholderAuthentication::LiabilityShift] - required :liability_shift, enum: -> { Lithic::Transaction::CardholderAuthentication::LiabilityShift } - - # @!attribute three_ds_authentication_token - # Unique identifier you can use to match a given 3DS authentication (available via - # the three_ds_authentication.created event webhook) and the transaction. Note - # that in cases where liability shift does not occur, this token is matched to the - # transaction on a best-effort basis. - # - # @return [String, nil] - required :three_ds_authentication_token, String, nil?: true - - # @!method initialize(authentication_method:, authentication_result:, decision_made_by:, liability_shift:, three_ds_authentication_token:) - # Some parameter documentations has been truncated, see - # {Lithic::Models::Transaction::CardholderAuthentication} for more details. - # - # @param authentication_method [Symbol, Lithic::Models::Transaction::CardholderAuthentication::AuthenticationMethod] Indicates the method used to authenticate the cardholder. - # - # @param authentication_result [Symbol, Lithic::Models::Transaction::CardholderAuthentication::AuthenticationResult] Indicates the outcome of the 3DS authentication process. - # - # @param decision_made_by [Symbol, Lithic::Models::Transaction::CardholderAuthentication::DecisionMadeBy] Indicates which party made the 3DS authentication decision. - # - # @param liability_shift [Symbol, Lithic::Models::Transaction::CardholderAuthentication::LiabilityShift] Indicates whether chargeback liability shift applies to the transaction. Possibl - # - # @param three_ds_authentication_token [String, nil] Unique identifier you can use to match a given 3DS authentication (available via - - # Indicates the method used to authenticate the cardholder. - # - # @see Lithic::Models::Transaction::CardholderAuthentication#authentication_method - module AuthenticationMethod - extend Lithic::Internal::Type::Enum - - FRICTIONLESS = :FRICTIONLESS - CHALLENGE = :CHALLENGE - NONE = :NONE - - # @!method self.values - # @return [Array] - end - - # Indicates the outcome of the 3DS authentication process. - # - # @see Lithic::Models::Transaction::CardholderAuthentication#authentication_result - module AuthenticationResult - extend Lithic::Internal::Type::Enum - - ATTEMPTS = :ATTEMPTS - DECLINE = :DECLINE - NONE = :NONE - SUCCESS = :SUCCESS - - # @!method self.values - # @return [Array] - end - - # Indicates which party made the 3DS authentication decision. - # - # @see Lithic::Models::Transaction::CardholderAuthentication#decision_made_by - module DecisionMadeBy - extend Lithic::Internal::Type::Enum - - CUSTOMER_RULES = :CUSTOMER_RULES - CUSTOMER_ENDPOINT = :CUSTOMER_ENDPOINT - LITHIC_DEFAULT = :LITHIC_DEFAULT - LITHIC_RULES = :LITHIC_RULES - NETWORK = :NETWORK - UNKNOWN = :UNKNOWN - - # @!method self.values - # @return [Array] - end - - # Indicates whether chargeback liability shift applies to the transaction. - # Possible enum values: - # - # - `3DS_AUTHENTICATED`: The transaction was fully authenticated through a 3-D - # Secure flow, chargeback liability shift applies. - # - `NONE`: Chargeback liability shift has not shifted to the issuer, i.e. the - # merchant is liable. - # - `TOKEN_AUTHENTICATED`: The transaction was a tokenized payment with validated - # cryptography, possibly recurring. Chargeback liability shift to the issuer - # applies. - # - # @see Lithic::Models::Transaction::CardholderAuthentication#liability_shift - module LiabilityShift - extend Lithic::Internal::Type::Enum - - LIABILITY_SHIFT_3DS_AUTHENTICATED = :"3DS_AUTHENTICATED" - TOKEN_AUTHENTICATED = :TOKEN_AUTHENTICATED - NONE = :NONE - - # @!method self.values - # @return [Array] - end - end - # Card network of the authorization. Value is `UNKNOWN` when Lithic cannot # determine the network code from the upstream provider. # @@ -830,44 +700,6 @@ module Status # @return [Array] end - # @see Lithic::Models::Transaction#token_info - class TokenInfo < Lithic::Internal::Type::BaseModel - # @!attribute wallet_type - # The wallet_type field will indicate the source of the token. Possible token - # sources include digital wallets (Apple, Google, or Samsung Pay), merchant - # tokenization, and “other” sources like in-flight commerce. Masterpass is not - # currently supported and is included for future use. - # - # @return [Symbol, Lithic::Models::Transaction::TokenInfo::WalletType] - required :wallet_type, enum: -> { Lithic::Transaction::TokenInfo::WalletType } - - # @!method initialize(wallet_type:) - # Some parameter documentations has been truncated, see - # {Lithic::Models::Transaction::TokenInfo} for more details. - # - # @param wallet_type [Symbol, Lithic::Models::Transaction::TokenInfo::WalletType] The wallet_type field will indicate the source of the token. Possible token sour - - # The wallet_type field will indicate the source of the token. Possible token - # sources include digital wallets (Apple, Google, or Samsung Pay), merchant - # tokenization, and “other” sources like in-flight commerce. Masterpass is not - # currently supported and is included for future use. - # - # @see Lithic::Models::Transaction::TokenInfo#wallet_type - module WalletType - extend Lithic::Internal::Type::Enum - - APPLE_PAY = :APPLE_PAY - GOOGLE_PAY = :GOOGLE_PAY - MASTERPASS = :MASTERPASS - MERCHANT = :MERCHANT - OTHER = :OTHER - SAMSUNG_PAY = :SAMSUNG_PAY - - # @!method self.values - # @return [Array] - end - end - class Event < Lithic::Internal::Type::BaseModel # @!attribute token # Transaction event identifier. diff --git a/lib/lithic/models/wallet_decisioning_info.rb b/lib/lithic/models/wallet_decisioning_info.rb new file mode 100644 index 00000000..30b81670 --- /dev/null +++ b/lib/lithic/models/wallet_decisioning_info.rb @@ -0,0 +1,44 @@ +# frozen_string_literal: true + +module Lithic + module Models + class WalletDecisioningInfo < Lithic::Internal::Type::BaseModel + # @!attribute account_score + # Score given to the account by the Wallet Provider + # + # @return [String, nil] + required :account_score, String, nil?: true + + # @!attribute device_score + # Score given to the device by the Wallet Provider + # + # @return [String, nil] + required :device_score, String, nil?: true + + # @!attribute recommended_decision + # The decision recommended by the Wallet Provider + # + # @return [String, nil] + required :recommended_decision, String, nil?: true + + # @!attribute recommendation_reasons + # Reasons provided to the Wallet Provider on how the recommended decision was + # reached + # + # @return [Array, nil] + optional :recommendation_reasons, Lithic::Internal::Type::ArrayOf[String], nil?: true + + # @!method initialize(account_score:, device_score:, recommended_decision:, recommendation_reasons: nil) + # Some parameter documentations has been truncated, see + # {Lithic::Models::WalletDecisioningInfo} for more details. + # + # @param account_score [String, nil] Score given to the account by the Wallet Provider + # + # @param device_score [String, nil] Score given to the device by the Wallet Provider + # + # @param recommended_decision [String, nil] The decision recommended by the Wallet Provider + # + # @param recommendation_reasons [Array, nil] Reasons provided to the Wallet Provider on how the recommended decision was reac + end + end +end diff --git a/lib/lithic/resources/auth_rules/v2.rb b/lib/lithic/resources/auth_rules/v2.rb index 8039cc96..3c846b8f 100644 --- a/lib/lithic/resources/auth_rules/v2.rb +++ b/lib/lithic/resources/auth_rules/v2.rb @@ -26,7 +26,7 @@ class V2 # # @param business_account_tokens [Array] Business Account tokens to which the Auth Rule applies. # - # @param event_stream [Symbol, Lithic::Models::AuthRules::V2CreateParams::EventStream] The event stream during which the rule will be evaluated. + # @param event_stream [Symbol, Lithic::Models::AuthRules::EventStream] The event stream during which the rule will be evaluated. # # @param name [String, nil] Auth Rule Name # @@ -34,7 +34,7 @@ class V2 # # @param request_options [Lithic::RequestOptions, Hash{Symbol=>Object}, nil] # - # @return [Lithic::Models::AuthRules::V2CreateResponse] + # @return [Lithic::Models::AuthRules::AuthRule] # # @see Lithic::Models::AuthRules::V2CreateParams def create(params) @@ -43,7 +43,7 @@ def create(params) method: :post, path: "v2/auth_rules", body: parsed, - model: Lithic::Models::AuthRules::V2CreateResponse, + model: Lithic::AuthRules::AuthRule, options: options ) end @@ -55,14 +55,14 @@ def create(params) # @param auth_rule_token [String] # @param request_options [Lithic::RequestOptions, Hash{Symbol=>Object}, nil] # - # @return [Lithic::Models::AuthRules::V2RetrieveResponse] + # @return [Lithic::Models::AuthRules::AuthRule] # # @see Lithic::Models::AuthRules::V2RetrieveParams def retrieve(auth_rule_token, params = {}) @client.request( method: :get, path: ["v2/auth_rules/%1$s", auth_rule_token], - model: Lithic::Models::AuthRules::V2RetrieveResponse, + model: Lithic::AuthRules::AuthRule, options: params[:request_options] ) end @@ -96,7 +96,7 @@ def retrieve(auth_rule_token, params = {}) # # @param request_options [Lithic::RequestOptions, Hash{Symbol=>Object}, nil] # - # @return [Lithic::Models::AuthRules::V2UpdateResponse] + # @return [Lithic::Models::AuthRules::AuthRule] # # @see Lithic::Models::AuthRules::V2UpdateParams def update(auth_rule_token, params = {}) @@ -105,7 +105,7 @@ def update(auth_rule_token, params = {}) method: :patch, path: ["v2/auth_rules/%1$s", auth_rule_token], body: parsed, - model: Lithic::Models::AuthRules::V2UpdateResponse, + model: Lithic::AuthRules::AuthRule, options: options ) end @@ -115,7 +115,7 @@ def update(auth_rule_token, params = {}) # # Lists V2 Auth rules # - # @overload list(account_token: nil, business_account_token: nil, card_token: nil, ending_before: nil, event_stream: nil, page_size: nil, scope: nil, starting_after: nil, request_options: {}) + # @overload list(account_token: nil, business_account_token: nil, card_token: nil, ending_before: nil, event_stream: nil, event_streams: nil, page_size: nil, scope: nil, starting_after: nil, request_options: {}) # # @param account_token [String] Only return Auth Rules that are bound to the provided account token. # @@ -125,7 +125,9 @@ def update(auth_rule_token, params = {}) # # @param ending_before [String] A cursor representing an item's token before which a page of results should end. # - # @param event_stream [Symbol, Lithic::Models::AuthRules::V2ListParams::EventStream] Only return Auth rules that are executed during the provided event stream. + # @param event_stream [Symbol, Lithic::Models::AuthRules::EventStream] Deprecated: Use event_streams instead. Only return Auth rules that are executed + # + # @param event_streams [Array] Only return Auth rules that are executed during any of the provided event stream # # @param page_size [Integer] Page size (for pagination). # @@ -135,7 +137,7 @@ def update(auth_rule_token, params = {}) # # @param request_options [Lithic::RequestOptions, Hash{Symbol=>Object}, nil] # - # @return [Lithic::Internal::CursorPage] + # @return [Lithic::Internal::CursorPage] # # @see Lithic::Models::AuthRules::V2ListParams def list(params = {}) @@ -145,7 +147,7 @@ def list(params = {}) path: "v2/auth_rules", query: parsed, page: Lithic::Internal::CursorPage, - model: Lithic::Models::AuthRules::V2ListResponse, + model: Lithic::AuthRules::AuthRule, options: options ) end @@ -182,7 +184,7 @@ def delete(auth_rule_token, params = {}) # # @param request_options [Lithic::RequestOptions, Hash{Symbol=>Object}, nil] # - # @return [Lithic::Models::AuthRules::V2DraftResponse] + # @return [Lithic::Models::AuthRules::AuthRule] # # @see Lithic::Models::AuthRules::V2DraftParams def draft(auth_rule_token, params = {}) @@ -191,7 +193,7 @@ def draft(auth_rule_token, params = {}) method: :post, path: ["v2/auth_rules/%1$s/draft", auth_rule_token], body: parsed, - model: Lithic::Models::AuthRules::V2DraftResponse, + model: Lithic::AuthRules::AuthRule, options: options ) end @@ -204,14 +206,14 @@ def draft(auth_rule_token, params = {}) # @param auth_rule_token [String] # @param request_options [Lithic::RequestOptions, Hash{Symbol=>Object}, nil] # - # @return [Lithic::Models::AuthRules::V2PromoteResponse] + # @return [Lithic::Models::AuthRules::AuthRule] # # @see Lithic::Models::AuthRules::V2PromoteParams def promote(auth_rule_token, params = {}) @client.request( method: :post, path: ["v2/auth_rules/%1$s/promote", auth_rule_token], - model: Lithic::Models::AuthRules::V2PromoteResponse, + model: Lithic::AuthRules::AuthRule, options: params[:request_options] ) end diff --git a/lib/lithic/resources/card_bulk_orders.rb b/lib/lithic/resources/card_bulk_orders.rb new file mode 100644 index 00000000..9a203750 --- /dev/null +++ b/lib/lithic/resources/card_bulk_orders.rb @@ -0,0 +1,127 @@ +# frozen_string_literal: true + +module Lithic + module Resources + class CardBulkOrders + # Some parameter documentations has been truncated, see + # {Lithic::Models::CardBulkOrderCreateParams} for more details. + # + # Create a new bulk order for physical card shipments **[BETA]**. Cards can be + # added to the order via the POST /v1/cards endpoint by specifying the + # bulk_order_token. Lock the order via PATCH + # /v1/card_bulk_orders/{bulk_order_token} to prepare for shipment. Please work + # with your Customer Success Manager and card personalization bureau to ensure + # bulk shipping is supported for your program. + # + # @overload create(customer_product_id:, shipping_address:, shipping_method:, request_options: {}) + # + # @param customer_product_id [String] Customer-specified product configuration for physical card manufacturing. This m + # + # @param shipping_address [Object] Shipping address for all cards in this bulk order + # + # @param shipping_method [Symbol, Lithic::Models::CardBulkOrderCreateParams::ShippingMethod] Shipping method for all cards in this bulk order + # + # @param request_options [Lithic::RequestOptions, Hash{Symbol=>Object}, nil] + # + # @return [Lithic::Models::CardBulkOrder] + # + # @see Lithic::Models::CardBulkOrderCreateParams + def create(params) + parsed, options = Lithic::CardBulkOrderCreateParams.dump_request(params) + @client.request( + method: :post, + path: "v1/card_bulk_orders", + body: parsed, + model: Lithic::CardBulkOrder, + options: options + ) + end + + # Retrieve a specific bulk order by token **[BETA]** + # + # @overload retrieve(bulk_order_token, request_options: {}) + # + # @param bulk_order_token [String] Globally unique identifier for the bulk order + # + # @param request_options [Lithic::RequestOptions, Hash{Symbol=>Object}, nil] + # + # @return [Lithic::Models::CardBulkOrder] + # + # @see Lithic::Models::CardBulkOrderRetrieveParams + def retrieve(bulk_order_token, params = {}) + @client.request( + method: :get, + path: ["v1/card_bulk_orders/%1$s", bulk_order_token], + model: Lithic::CardBulkOrder, + options: params[:request_options] + ) + end + + # Update a bulk order **[BETA]**. Primarily used to lock the order, preventing + # additional cards from being added + # + # @overload update(bulk_order_token, status:, request_options: {}) + # + # @param bulk_order_token [String] Globally unique identifier for the bulk order + # + # @param status [Symbol, Lithic::Models::CardBulkOrderUpdateParams::Status] Status to update the bulk order to. Use LOCKED to finalize the order + # + # @param request_options [Lithic::RequestOptions, Hash{Symbol=>Object}, nil] + # + # @return [Lithic::Models::CardBulkOrder] + # + # @see Lithic::Models::CardBulkOrderUpdateParams + def update(bulk_order_token, params) + parsed, options = Lithic::CardBulkOrderUpdateParams.dump_request(params) + @client.request( + method: :patch, + path: ["v1/card_bulk_orders/%1$s", bulk_order_token], + body: parsed, + model: Lithic::CardBulkOrder, + options: options + ) + end + + # Some parameter documentations has been truncated, see + # {Lithic::Models::CardBulkOrderListParams} for more details. + # + # List bulk orders for physical card shipments **[BETA]** + # + # @overload list(begin_: nil, end_: nil, ending_before: nil, page_size: nil, starting_after: nil, request_options: {}) + # + # @param begin_ [Time] Date string in RFC 3339 format. Only entries created after the specified time wi + # + # @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 page_size [Integer] Page size (for pagination). + # + # @param starting_after [String] A cursor representing an item's token after which a page of results should begin + # + # @param request_options [Lithic::RequestOptions, Hash{Symbol=>Object}, nil] + # + # @return [Lithic::Internal::CursorPage] + # + # @see Lithic::Models::CardBulkOrderListParams + def list(params = {}) + parsed, options = Lithic::CardBulkOrderListParams.dump_request(params) + @client.request( + method: :get, + path: "v1/card_bulk_orders", + query: parsed.transform_keys(begin_: "begin", end_: "end"), + page: Lithic::Internal::CursorPage, + model: Lithic::CardBulkOrder, + options: options + ) + end + + # @api private + # + # @param client [Lithic::Client] + def initialize(client:) + @client = client + end + end + end +end diff --git a/lib/lithic/resources/cards.rb b/lib/lithic/resources/cards.rb index 5c83ace3..c8276087 100644 --- a/lib/lithic/resources/cards.rb +++ b/lib/lithic/resources/cards.rb @@ -18,12 +18,14 @@ class Cards # Create a new virtual or physical card. Parameters `shipping_address` and # `product_id` only apply to physical cards. # - # @overload create(type:, account_token: nil, card_program_token: nil, carrier: nil, digital_card_art_token: nil, exp_month: nil, exp_year: nil, memo: nil, pin: nil, product_id: nil, replacement_account_token: nil, replacement_comment: nil, replacement_for: nil, replacement_substatus: nil, shipping_address: nil, shipping_method: nil, spend_limit: nil, spend_limit_duration: nil, state: nil, request_options: {}) + # @overload create(type:, account_token: nil, bulk_order_token: nil, card_program_token: nil, carrier: nil, digital_card_art_token: nil, exp_month: nil, exp_year: nil, memo: nil, pin: nil, product_id: nil, replacement_account_token: nil, replacement_comment: nil, replacement_for: nil, replacement_substatus: nil, shipping_address: nil, shipping_method: nil, spend_limit: nil, spend_limit_duration: nil, state: nil, request_options: {}) # # @param type [Symbol, Lithic::Models::CardCreateParams::Type] Card types: # # @param account_token [String] Globally unique identifier for the account that the card will be associated with # + # @param bulk_order_token [String] Globally unique identifier for an existing bulk order to associate this card wit + # # @param card_program_token [String] For card programs with more than one BIN range. This must be configured with Lit # # @param carrier [Lithic::Models::Carrier] @@ -441,6 +443,9 @@ def search_by_pan(params) ) end + # Some parameter documentations has been truncated, see + # {Lithic::Models::CardWebProvisionParams} for more details. + # # Allow your cardholders to directly add payment cards to the device's digital # wallet from a browser on the web. Currently only suported for Apple Pay. # @@ -448,15 +453,21 @@ def search_by_pan(params) # [Contact Us](https://lithic.com/contact) or your Customer Success representative # for more information. # - # @overload web_provision(card_token, digital_wallet: nil, request_options: {}) + # @overload web_provision(card_token, client_device_id: nil, client_wallet_account_id: nil, digital_wallet: nil, server_session_id: nil, request_options: {}) # # @param card_token [String] The unique token of the card to add to the device's digital wallet. # + # @param client_device_id [String] Only applicable if `digital_wallet` is GOOGLE_PAY. Google Pay Web Push Provision + # + # @param client_wallet_account_id [String] Only applicable if `digital_wallet` is GOOGLE_PAY. Google Pay Web Push Provision + # # @param digital_wallet [Symbol, Lithic::Models::CardWebProvisionParams::DigitalWallet] Name of digital wallet provider. # + # @param server_session_id [String] Only applicable if `digital_wallet` is GOOGLE_PAY. Google Pay Web Push Provision + # # @param request_options [Lithic::RequestOptions, Hash{Symbol=>Object}, nil] # - # @return [Lithic::Models::CardWebProvisionResponse] + # @return [Lithic::Models::CardWebProvisionResponse::AppleWebPushProvisioningResponse, Lithic::Models::CardWebProvisionResponse::GoogleWebPushProvisioningResponse] # # @see Lithic::Models::CardWebProvisionParams def web_provision(card_token, params = {}) diff --git a/lib/lithic/resources/cards/balances.rb b/lib/lithic/resources/cards/balances.rb index ea325e02..cfe41701 100644 --- a/lib/lithic/resources/cards/balances.rb +++ b/lib/lithic/resources/cards/balances.rb @@ -19,7 +19,7 @@ class Balances # # @param request_options [Lithic::RequestOptions, Hash{Symbol=>Object}, nil] # - # @return [Lithic::Internal::SinglePage] + # @return [Lithic::Internal::SinglePage] # # @see Lithic::Models::Cards::BalanceListParams def list(card_token, params = {}) @@ -29,7 +29,7 @@ def list(card_token, params = {}) path: ["v1/cards/%1$s/balances", card_token], query: parsed, page: Lithic::Internal::SinglePage, - model: Lithic::Models::Cards::BalanceListResponse, + model: Lithic::FinancialAccountBalance, options: options ) end diff --git a/lib/lithic/resources/external_bank_accounts.rb b/lib/lithic/resources/external_bank_accounts.rb index f7fe996e..239f85f1 100644 --- a/lib/lithic/resources/external_bank_accounts.rb +++ b/lib/lithic/resources/external_bank_accounts.rb @@ -197,7 +197,7 @@ def retry_micro_deposits(external_bank_account_token, params = {}) # @param financial_account_token [String] # @param request_options [Lithic::RequestOptions, Hash{Symbol=>Object}, nil] # - # @return [Lithic::Models::ExternalBankAccountRetryPrenoteResponse] + # @return [Lithic::Models::ExternalBankAccount] # # @see Lithic::Models::ExternalBankAccountRetryPrenoteParams def retry_prenote(external_bank_account_token, params = {}) @@ -206,7 +206,7 @@ def retry_prenote(external_bank_account_token, params = {}) method: :post, path: ["v1/external_bank_accounts/%1$s/retry_prenote", external_bank_account_token], body: parsed, - model: Lithic::Models::ExternalBankAccountRetryPrenoteResponse, + model: Lithic::ExternalBankAccount, options: options ) end @@ -218,14 +218,14 @@ def retry_prenote(external_bank_account_token, params = {}) # @param external_bank_account_token [String] # @param request_options [Lithic::RequestOptions, Hash{Symbol=>Object}, nil] # - # @return [Lithic::Models::ExternalBankAccountUnpauseResponse] + # @return [Lithic::Models::ExternalBankAccount] # # @see Lithic::Models::ExternalBankAccountUnpauseParams def unpause(external_bank_account_token, params = {}) @client.request( method: :post, path: ["v1/external_bank_accounts/%1$s/unpause", external_bank_account_token], - model: Lithic::Models::ExternalBankAccountUnpauseResponse, + model: Lithic::ExternalBankAccount, options: params[:request_options] ) end diff --git a/lib/lithic/resources/financial_accounts/balances.rb b/lib/lithic/resources/financial_accounts/balances.rb index e4ef15c5..5e2add74 100644 --- a/lib/lithic/resources/financial_accounts/balances.rb +++ b/lib/lithic/resources/financial_accounts/balances.rb @@ -19,7 +19,7 @@ class Balances # # @param request_options [Lithic::RequestOptions, Hash{Symbol=>Object}, nil] # - # @return [Lithic::Internal::SinglePage] + # @return [Lithic::Internal::SinglePage] # # @see Lithic::Models::FinancialAccounts::BalanceListParams def list(financial_account_token, params = {}) @@ -29,7 +29,7 @@ def list(financial_account_token, params = {}) path: ["v1/financial_accounts/%1$s/balances", financial_account_token], query: parsed, page: Lithic::Internal::SinglePage, - model: Lithic::Models::FinancialAccounts::BalanceListResponse, + model: Lithic::FinancialAccountBalance, options: options ) end diff --git a/lib/lithic/resources/funding_events.rb b/lib/lithic/resources/funding_events.rb index 11ea9008..3f1d77b9 100644 --- a/lib/lithic/resources/funding_events.rb +++ b/lib/lithic/resources/funding_events.rb @@ -11,14 +11,14 @@ class FundingEvents # # @param request_options [Lithic::RequestOptions, Hash{Symbol=>Object}, nil] # - # @return [Lithic::Models::FundingEventRetrieveResponse] + # @return [Lithic::Models::FundingEvent] # # @see Lithic::Models::FundingEventRetrieveParams def retrieve(funding_event_token, params = {}) @client.request( method: :get, path: ["v1/funding_events/%1$s", funding_event_token], - model: Lithic::Models::FundingEventRetrieveResponse, + model: Lithic::FundingEvent, options: params[:request_options] ) end @@ -38,7 +38,7 @@ def retrieve(funding_event_token, params = {}) # # @param request_options [Lithic::RequestOptions, Hash{Symbol=>Object}, nil] # - # @return [Lithic::Internal::CursorPage] + # @return [Lithic::Internal::CursorPage] # # @see Lithic::Models::FundingEventListParams def list(params = {}) @@ -48,7 +48,7 @@ def list(params = {}) path: "v1/funding_events", query: parsed, page: Lithic::Internal::CursorPage, - model: Lithic::Models::FundingEventListResponse, + model: Lithic::FundingEvent, options: options ) end diff --git a/lib/lithic/resources/internal_transaction.rb b/lib/lithic/resources/internal_transaction.rb new file mode 100644 index 00000000..436842d3 --- /dev/null +++ b/lib/lithic/resources/internal_transaction.rb @@ -0,0 +1,14 @@ +# frozen_string_literal: true + +module Lithic + module Resources + class InternalTransaction + # @api private + # + # @param client [Lithic::Client] + def initialize(client:) + @client = client + end + end + end +end diff --git a/lib/lithic/resources/reports/settlement/network_totals.rb b/lib/lithic/resources/reports/settlement/network_totals.rb index ff8d124f..a70e14bf 100644 --- a/lib/lithic/resources/reports/settlement/network_totals.rb +++ b/lib/lithic/resources/reports/settlement/network_totals.rb @@ -13,14 +13,14 @@ class NetworkTotals # # @param request_options [Lithic::RequestOptions, Hash{Symbol=>Object}, nil] # - # @return [Lithic::Models::Reports::Settlement::NetworkTotalRetrieveResponse] + # @return [Lithic::Models::NetworkTotal] # # @see Lithic::Models::Reports::Settlement::NetworkTotalRetrieveParams def retrieve(token, params = {}) @client.request( method: :get, path: ["v1/reports/settlement/network_totals/%1$s", token], - model: Lithic::Models::Reports::Settlement::NetworkTotalRetrieveResponse, + model: Lithic::NetworkTotal, options: params[:request_options] ) end @@ -56,7 +56,7 @@ def retrieve(token, params = {}) # # @param request_options [Lithic::RequestOptions, Hash{Symbol=>Object}, nil] # - # @return [Lithic::Internal::CursorPage] + # @return [Lithic::Internal::CursorPage] # # @see Lithic::Models::Reports::Settlement::NetworkTotalListParams def list(params = {}) @@ -66,7 +66,7 @@ def list(params = {}) path: "v1/reports/settlement/network_totals", query: parsed.transform_keys(begin_: "begin", end_: "end"), page: Lithic::Internal::CursorPage, - model: Lithic::Models::Reports::Settlement::NetworkTotalListResponse, + model: Lithic::NetworkTotal, options: options ) end diff --git a/lib/lithic/resources/three_ds/authentication.rb b/lib/lithic/resources/three_ds/authentication.rb index 431d3ac0..ef3b4422 100644 --- a/lib/lithic/resources/three_ds/authentication.rb +++ b/lib/lithic/resources/three_ds/authentication.rb @@ -12,14 +12,14 @@ class Authentication # # @param request_options [Lithic::RequestOptions, Hash{Symbol=>Object}, nil] # - # @return [Lithic::Models::ThreeDS::AuthenticationRetrieveResponse] + # @return [Lithic::Models::ThreeDSAuthentication] # # @see Lithic::Models::ThreeDS::AuthenticationRetrieveParams def retrieve(three_ds_authentication_token, params = {}) @client.request( method: :get, path: ["v1/three_ds_authentication/%1$s", three_ds_authentication_token], - model: Lithic::Models::ThreeDS::AuthenticationRetrieveResponse, + model: Lithic::ThreeDSAuthentication, options: params[:request_options] ) end diff --git a/lib/lithic/resources/tokenizations.rb b/lib/lithic/resources/tokenizations.rb index 7474ed1a..92c7b749 100644 --- a/lib/lithic/resources/tokenizations.rb +++ b/lib/lithic/resources/tokenizations.rb @@ -207,7 +207,7 @@ def resend_activation_code(tokenization_token, params = {}) # # @param request_options [Lithic::RequestOptions, Hash{Symbol=>Object}, nil] # - # @return [Lithic::Models::TokenizationSimulateResponse] + # @return [Lithic::Models::Tokenization] # # @see Lithic::Models::TokenizationSimulateParams def simulate(params) @@ -216,7 +216,7 @@ def simulate(params) method: :post, path: "v1/simulate/tokenizations", body: parsed, - model: Lithic::Models::TokenizationSimulateResponse, + model: Lithic::Tokenization, options: options ) end @@ -267,7 +267,7 @@ def unpause(tokenization_token, params = {}) # # @param request_options [Lithic::RequestOptions, Hash{Symbol=>Object}, nil] # - # @return [Lithic::Models::TokenizationUpdateDigitalCardArtResponse] + # @return [Lithic::Models::Tokenization] # # @see Lithic::Models::TokenizationUpdateDigitalCardArtParams def update_digital_card_art(tokenization_token, params = {}) @@ -276,7 +276,7 @@ def update_digital_card_art(tokenization_token, params = {}) method: :post, path: ["v1/tokenizations/%1$s/update_digital_card_art", tokenization_token], body: parsed, - model: Lithic::Models::TokenizationUpdateDigitalCardArtResponse, + model: Lithic::Tokenization, options: options ) end diff --git a/lib/lithic/version.rb b/lib/lithic/version.rb index 11022f18..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.56" + VERSION = "0.1.0" end diff --git a/manifest.yaml b/manifest.yaml index 7853f4ab..a1fd74a9 100644 --- a/manifest.yaml +++ b/manifest.yaml @@ -1,5 +1,6 @@ dependencies: - English + - base64 - cgi - date - erb diff --git a/rbi/lithic/client.rbi b/rbi/lithic/client.rbi index 26a564ae..f82fd1da 100644 --- a/rbi/lithic/client.rbi +++ b/rbi/lithic/client.rbi @@ -43,6 +43,9 @@ module Lithic sig { returns(Lithic::Resources::Cards) } attr_reader :cards + sig { returns(Lithic::Resources::CardBulkOrders) } + attr_reader :card_bulk_orders + sig { returns(Lithic::Resources::Balances) } attr_reader :balances @@ -100,6 +103,9 @@ module Lithic sig { returns(Lithic::Resources::ManagementOperations) } attr_reader :management_operations + sig { returns(Lithic::Resources::InternalTransaction) } + attr_reader :internal_transaction + sig { returns(Lithic::Resources::FundingEvents) } attr_reader :funding_events diff --git a/rbi/lithic/models.rbi b/rbi/lithic/models.rbi index 0ee5b25a..a7f0d927 100644 --- a/rbi/lithic/models.rbi +++ b/rbi/lithic/models.rbi @@ -82,12 +82,24 @@ module Lithic Card = Lithic::Models::Card + CardBulkOrder = Lithic::Models::CardBulkOrder + + CardBulkOrderCreateParams = Lithic::Models::CardBulkOrderCreateParams + + CardBulkOrderListParams = Lithic::Models::CardBulkOrderListParams + + CardBulkOrderRetrieveParams = Lithic::Models::CardBulkOrderRetrieveParams + + CardBulkOrderUpdateParams = Lithic::Models::CardBulkOrderUpdateParams + CardConvertPhysicalParams = Lithic::Models::CardConvertPhysicalParams CardCreateParams = Lithic::Models::CardCreateParams CardEmbedParams = Lithic::Models::CardEmbedParams + CardholderAuthentication = Lithic::Models::CardholderAuthentication + CardListParams = Lithic::Models::CardListParams CardProgram = Lithic::Models::CardProgram @@ -126,12 +138,16 @@ module Lithic Currency = Lithic::Models::Currency + Device = Lithic::Models::Device + DigitalCardArtAPI = Lithic::Models::DigitalCardArtAPI DigitalCardArtListParams = Lithic::Models::DigitalCardArtListParams DigitalCardArtRetrieveParams = Lithic::Models::DigitalCardArtRetrieveParams + DigitalWalletTokenMetadata = Lithic::Models::DigitalWalletTokenMetadata + Dispute = Lithic::Models::Dispute DisputeCreateParams = Lithic::Models::DisputeCreateParams @@ -175,6 +191,8 @@ module Lithic EventSubscription = Lithic::Models::EventSubscription + ExternalBankAccount = Lithic::Models::ExternalBankAccount + ExternalBankAccountAddress = Lithic::Models::ExternalBankAccountAddress ExternalBankAccountCreateParams = @@ -221,6 +239,8 @@ module Lithic FinancialAccount = Lithic::Models::FinancialAccount + FinancialAccountBalance = Lithic::Models::FinancialAccountBalance + FinancialAccountCreateParams = Lithic::Models::FinancialAccountCreateParams FinancialAccountListParams = Lithic::Models::FinancialAccountListParams @@ -244,6 +264,8 @@ module Lithic Fraud = Lithic::Models::Fraud + FundingEvent = Lithic::Models::FundingEvent + FundingEventListParams = Lithic::Models::FundingEventListParams FundingEventRetrieveDetailsParams = @@ -253,6 +275,8 @@ module Lithic InstanceFinancialAccountType = Lithic::Models::InstanceFinancialAccountType + InternalTransactionAPI = Lithic::Models::InternalTransactionAPI + KYB = Lithic::Models::KYB KYBBusinessEntity = Lithic::Models::KYBBusinessEntity @@ -285,6 +309,8 @@ module Lithic NetworkProgramRetrieveParams = Lithic::Models::NetworkProgramRetrieveParams + NetworkTotal = Lithic::Models::NetworkTotal + NonPCICard = Lithic::Models::NonPCICard OwnerType = Lithic::Models::OwnerType @@ -338,6 +364,10 @@ module Lithic ThreeDS = Lithic::Models::ThreeDS + ThreeDSAuthentication = Lithic::Models::ThreeDSAuthentication + + TokenInfo = Lithic::Models::TokenInfo + Tokenization = Lithic::Models::Tokenization TokenizationActivateParams = Lithic::Models::TokenizationActivateParams @@ -350,6 +380,8 @@ module Lithic TokenizationDecisioningRotateSecretParams = Lithic::Models::TokenizationDecisioningRotateSecretParams + TokenizationDeclineReason = Lithic::Models::TokenizationDeclineReason + TokenizationListParams = Lithic::Models::TokenizationListParams TokenizationPauseParams = Lithic::Models::TokenizationPauseParams @@ -359,10 +391,14 @@ module Lithic TokenizationRetrieveParams = Lithic::Models::TokenizationRetrieveParams + TokenizationRuleResult = Lithic::Models::TokenizationRuleResult + TokenizationSecret = Lithic::Models::TokenizationSecret TokenizationSimulateParams = Lithic::Models::TokenizationSimulateParams + TokenizationTfaReason = Lithic::Models::TokenizationTfaReason + TokenizationUnpauseParams = Lithic::Models::TokenizationUnpauseParams TokenizationUpdateDigitalCardArtParams = @@ -405,5 +441,7 @@ module Lithic VerificationMethod = Lithic::Models::VerificationMethod + WalletDecisioningInfo = Lithic::Models::WalletDecisioningInfo + WirePartyDetails = Lithic::Models::WirePartyDetails end diff --git a/rbi/lithic/models/account_activity_list_params.rbi b/rbi/lithic/models/account_activity_list_params.rbi index a715d5e5..d60e4fb8 100644 --- a/rbi/lithic/models/account_activity_list_params.rbi +++ b/rbi/lithic/models/account_activity_list_params.rbi @@ -230,6 +230,16 @@ module Lithic :EXTERNAL_CHECK, Lithic::AccountActivityListParams::Category::TaggedSymbol ) + EXTERNAL_FEDNOW = + T.let( + :EXTERNAL_FEDNOW, + Lithic::AccountActivityListParams::Category::TaggedSymbol + ) + EXTERNAL_RTP = + T.let( + :EXTERNAL_RTP, + Lithic::AccountActivityListParams::Category::TaggedSymbol + ) EXTERNAL_TRANSFER = T.let( :EXTERNAL_TRANSFER, diff --git a/rbi/lithic/models/account_activity_list_response.rbi b/rbi/lithic/models/account_activity_list_response.rbi index eb9e5a52..ac3fcda6 100644 --- a/rbi/lithic/models/account_activity_list_response.rbi +++ b/rbi/lithic/models/account_activity_list_response.rbi @@ -234,6 +234,16 @@ module Lithic :EXTERNAL_CHECK, Lithic::Models::AccountActivityListResponse::Internal::Category::TaggedSymbol ) + EXTERNAL_FEDNOW = + T.let( + :EXTERNAL_FEDNOW, + Lithic::Models::AccountActivityListResponse::Internal::Category::TaggedSymbol + ) + EXTERNAL_RTP = + T.let( + :EXTERNAL_RTP, + Lithic::Models::AccountActivityListResponse::Internal::Category::TaggedSymbol + ) EXTERNAL_TRANSFER = T.let( :EXTERNAL_TRANSFER, diff --git a/rbi/lithic/models/account_activity_retrieve_transaction_response.rbi b/rbi/lithic/models/account_activity_retrieve_transaction_response.rbi index fe61f9ee..f36e42c4 100644 --- a/rbi/lithic/models/account_activity_retrieve_transaction_response.rbi +++ b/rbi/lithic/models/account_activity_retrieve_transaction_response.rbi @@ -234,6 +234,16 @@ module Lithic :EXTERNAL_CHECK, Lithic::Models::AccountActivityRetrieveTransactionResponse::Internal::Category::TaggedSymbol ) + EXTERNAL_FEDNOW = + T.let( + :EXTERNAL_FEDNOW, + Lithic::Models::AccountActivityRetrieveTransactionResponse::Internal::Category::TaggedSymbol + ) + EXTERNAL_RTP = + T.let( + :EXTERNAL_RTP, + Lithic::Models::AccountActivityRetrieveTransactionResponse::Internal::Category::TaggedSymbol + ) EXTERNAL_TRANSFER = T.let( :EXTERNAL_TRANSFER, diff --git a/rbi/lithic/models/auth_rules/auth_rule.rbi b/rbi/lithic/models/auth_rules/auth_rule.rbi index 3d90d1c3..0967448e 100644 --- a/rbi/lithic/models/auth_rules/auth_rule.rbi +++ b/rbi/lithic/models/auth_rules/auth_rule.rbi @@ -11,107 +11,139 @@ module Lithic T.any(Lithic::AuthRules::AuthRule, Lithic::Internal::AnyHash) end - # Globally unique identifier. + # Auth Rule Token sig { returns(String) } attr_accessor :token - # Indicates whether the Auth Rule is ACTIVE or INACTIVE - sig { returns(Lithic::AuthRules::AuthRule::State::OrSymbol) } - attr_accessor :state + # Account tokens to which the Auth Rule applies. + sig { returns(T::Array[String]) } + attr_accessor :account_tokens - # Array of account_token(s) identifying the accounts that the Auth Rule applies - # to. Note that only this field or `card_tokens` can be provided for a given Auth - # Rule. - sig { returns(T.nilable(T::Array[String])) } - attr_reader :account_tokens + # Business Account tokens to which the Auth Rule applies. + sig { returns(T::Array[String]) } + attr_accessor :business_account_tokens - sig { params(account_tokens: T::Array[String]).void } - attr_writer :account_tokens + # Card tokens to which the Auth Rule applies. + sig { returns(T::Array[String]) } + attr_accessor :card_tokens - # Countries in which the Auth Rule permits transactions. Note that Lithic - # maintains a list of countries in which all transactions are blocked; "allowing" - # those countries in an Auth Rule does not override the Lithic-wide restrictions. - sig { returns(T.nilable(T::Array[String])) } - attr_reader :allowed_countries + sig { returns(T.nilable(Lithic::AuthRules::AuthRule::CurrentVersion)) } + attr_reader :current_version - sig { params(allowed_countries: T::Array[String]).void } - attr_writer :allowed_countries + sig do + params( + current_version: + T.nilable(Lithic::AuthRules::AuthRule::CurrentVersion::OrHash) + ).void + end + attr_writer :current_version - # Merchant category codes for which the Auth Rule permits transactions. - sig { returns(T.nilable(T::Array[String])) } - attr_reader :allowed_mcc + sig { returns(T.nilable(Lithic::AuthRules::AuthRule::DraftVersion)) } + attr_reader :draft_version - sig { params(allowed_mcc: T::Array[String]).void } - attr_writer :allowed_mcc + sig do + params( + draft_version: + T.nilable(Lithic::AuthRules::AuthRule::DraftVersion::OrHash) + ).void + end + attr_writer :draft_version - # Countries in which the Auth Rule automatically declines transactions. - sig { returns(T.nilable(T::Array[String])) } - attr_reader :blocked_countries + # The event stream during which the rule will be evaluated. + sig { returns(Lithic::AuthRules::EventStream::TaggedSymbol) } + attr_accessor :event_stream - sig { params(blocked_countries: T::Array[String]).void } - attr_writer :blocked_countries + # Indicates whether this auth rule is managed by Lithic. If true, the rule cannot + # be modified or deleted by the user + sig { returns(T::Boolean) } + attr_accessor :lithic_managed - # Merchant category codes for which the Auth Rule automatically declines - # transactions. - sig { returns(T.nilable(T::Array[String])) } - attr_reader :blocked_mcc + # Auth Rule Name + sig { returns(T.nilable(String)) } + attr_accessor :name - sig { params(blocked_mcc: T::Array[String]).void } - attr_writer :blocked_mcc + # Whether the Auth Rule applies to all authorizations on the card program. + sig { returns(T::Boolean) } + attr_accessor :program_level - # Array of card_token(s) identifying the cards that the Auth Rule applies to. Note - # that only this field or `account_tokens` can be provided for a given Auth Rule. - sig { returns(T.nilable(T::Array[String])) } - attr_reader :card_tokens + # The state of the Auth Rule + sig { returns(Lithic::AuthRules::AuthRule::State::TaggedSymbol) } + attr_accessor :state - sig { params(card_tokens: T::Array[String]).void } - attr_writer :card_tokens + # The type of Auth Rule. For certain rule types, this determines the event stream + # during which it will be evaluated. For rules that can be applied to one of + # several event streams, the effective one is defined by the separate + # `event_stream` field. + # + # - `CONDITIONAL_BLOCK`: AUTHORIZATION event stream. + # - `VELOCITY_LIMIT`: AUTHORIZATION event stream. + # - `MERCHANT_LOCK`: AUTHORIZATION event stream. + # - `CONDITIONAL_ACTION`: AUTHORIZATION, THREE_DS_AUTHENTICATION, TOKENIZATION, + # ACH_CREDIT_RECEIPT, or ACH_DEBIT_RECEIPT event stream. + sig { returns(Lithic::AuthRules::AuthRule::Type::TaggedSymbol) } + attr_accessor :type - # Boolean indicating whether the Auth Rule is applied at the program level. - sig { returns(T.nilable(T::Boolean)) } - attr_reader :program_level + # Card tokens to which the Auth Rule does not apply. + sig { returns(T.nilable(T::Array[String])) } + attr_reader :excluded_card_tokens - sig { params(program_level: T::Boolean).void } - attr_writer :program_level + sig { params(excluded_card_tokens: T::Array[String]).void } + attr_writer :excluded_card_tokens sig do params( token: String, - state: Lithic::AuthRules::AuthRule::State::OrSymbol, account_tokens: T::Array[String], - allowed_countries: T::Array[String], - allowed_mcc: T::Array[String], - blocked_countries: T::Array[String], - blocked_mcc: T::Array[String], + business_account_tokens: T::Array[String], card_tokens: T::Array[String], - program_level: T::Boolean + current_version: + T.nilable(Lithic::AuthRules::AuthRule::CurrentVersion::OrHash), + draft_version: + T.nilable(Lithic::AuthRules::AuthRule::DraftVersion::OrHash), + event_stream: Lithic::AuthRules::EventStream::OrSymbol, + lithic_managed: T::Boolean, + name: T.nilable(String), + program_level: T::Boolean, + state: Lithic::AuthRules::AuthRule::State::OrSymbol, + type: Lithic::AuthRules::AuthRule::Type::OrSymbol, + excluded_card_tokens: T::Array[String] ).returns(T.attached_class) end def self.new( - # Globally unique identifier. + # Auth Rule Token token:, - # Indicates whether the Auth Rule is ACTIVE or INACTIVE + # Account tokens to which the Auth Rule applies. + account_tokens:, + # Business Account tokens to which the Auth Rule applies. + business_account_tokens:, + # Card tokens to which the Auth Rule applies. + card_tokens:, + current_version:, + draft_version:, + # The event stream during which the rule will be evaluated. + event_stream:, + # Indicates whether this auth rule is managed by Lithic. If true, the rule cannot + # be modified or deleted by the user + lithic_managed:, + # Auth Rule Name + name:, + # Whether the Auth Rule applies to all authorizations on the card program. + program_level:, + # The state of the Auth Rule state:, - # Array of account_token(s) identifying the accounts that the Auth Rule applies - # to. Note that only this field or `card_tokens` can be provided for a given Auth - # Rule. - account_tokens: nil, - # Countries in which the Auth Rule permits transactions. Note that Lithic - # maintains a list of countries in which all transactions are blocked; "allowing" - # those countries in an Auth Rule does not override the Lithic-wide restrictions. - allowed_countries: nil, - # Merchant category codes for which the Auth Rule permits transactions. - allowed_mcc: nil, - # Countries in which the Auth Rule automatically declines transactions. - blocked_countries: nil, - # Merchant category codes for which the Auth Rule automatically declines - # transactions. - blocked_mcc: nil, - # Array of card_token(s) identifying the cards that the Auth Rule applies to. Note - # that only this field or `account_tokens` can be provided for a given Auth Rule. - card_tokens: nil, - # Boolean indicating whether the Auth Rule is applied at the program level. - program_level: nil + # The type of Auth Rule. For certain rule types, this determines the event stream + # during which it will be evaluated. For rules that can be applied to one of + # several event streams, the effective one is defined by the separate + # `event_stream` field. + # + # - `CONDITIONAL_BLOCK`: AUTHORIZATION event stream. + # - `VELOCITY_LIMIT`: AUTHORIZATION event stream. + # - `MERCHANT_LOCK`: AUTHORIZATION event stream. + # - `CONDITIONAL_ACTION`: AUTHORIZATION, THREE_DS_AUTHENTICATION, TOKENIZATION, + # ACH_CREDIT_RECEIPT, or ACH_DEBIT_RECEIPT event stream. + type:, + # Card tokens to which the Auth Rule does not apply. + excluded_card_tokens: nil ) end @@ -119,21 +151,201 @@ module Lithic override.returns( { token: String, - state: Lithic::AuthRules::AuthRule::State::OrSymbol, account_tokens: T::Array[String], - allowed_countries: T::Array[String], - allowed_mcc: T::Array[String], - blocked_countries: T::Array[String], - blocked_mcc: T::Array[String], + business_account_tokens: T::Array[String], card_tokens: T::Array[String], - program_level: T::Boolean + current_version: + T.nilable(Lithic::AuthRules::AuthRule::CurrentVersion), + draft_version: + T.nilable(Lithic::AuthRules::AuthRule::DraftVersion), + event_stream: Lithic::AuthRules::EventStream::TaggedSymbol, + lithic_managed: T::Boolean, + name: T.nilable(String), + program_level: T::Boolean, + state: Lithic::AuthRules::AuthRule::State::TaggedSymbol, + type: Lithic::AuthRules::AuthRule::Type::TaggedSymbol, + excluded_card_tokens: T::Array[String] } ) end def to_hash end - # Indicates whether the Auth Rule is ACTIVE or INACTIVE + class CurrentVersion < Lithic::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Lithic::AuthRules::AuthRule::CurrentVersion, + Lithic::Internal::AnyHash + ) + end + + # Parameters for the Auth Rule + sig do + returns( + Lithic::AuthRules::AuthRule::CurrentVersion::Parameters::Variants + ) + end + attr_accessor :parameters + + # The version of the rule, this is incremented whenever the rule's parameters + # change. + sig { returns(Integer) } + attr_accessor :version + + sig do + params( + parameters: + T.any( + Lithic::AuthRules::ConditionalBlockParameters::OrHash, + Lithic::AuthRules::VelocityLimitParams::OrHash, + Lithic::AuthRules::MerchantLockParameters::OrHash, + Lithic::AuthRules::Conditional3DSActionParameters::OrHash, + Lithic::AuthRules::ConditionalAuthorizationActionParameters::OrHash, + Lithic::AuthRules::ConditionalACHActionParameters::OrHash, + Lithic::AuthRules::ConditionalTokenizationActionParameters::OrHash + ), + version: Integer + ).returns(T.attached_class) + end + def self.new( + # Parameters for the Auth Rule + parameters:, + # The version of the rule, this is incremented whenever the rule's parameters + # change. + version: + ) + end + + sig do + override.returns( + { + parameters: + Lithic::AuthRules::AuthRule::CurrentVersion::Parameters::Variants, + version: Integer + } + ) + end + def to_hash + end + + # Parameters for the Auth Rule + module Parameters + extend Lithic::Internal::Type::Union + + Variants = + T.type_alias do + T.any( + Lithic::AuthRules::ConditionalBlockParameters, + Lithic::AuthRules::VelocityLimitParams, + Lithic::AuthRules::MerchantLockParameters, + Lithic::AuthRules::Conditional3DSActionParameters, + Lithic::AuthRules::ConditionalAuthorizationActionParameters, + Lithic::AuthRules::ConditionalACHActionParameters, + Lithic::AuthRules::ConditionalTokenizationActionParameters + ) + end + + sig do + override.returns( + T::Array[ + Lithic::AuthRules::AuthRule::CurrentVersion::Parameters::Variants + ] + ) + end + def self.variants + end + end + end + + class DraftVersion < Lithic::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Lithic::AuthRules::AuthRule::DraftVersion, + Lithic::Internal::AnyHash + ) + end + + # Parameters for the Auth Rule + sig do + returns( + Lithic::AuthRules::AuthRule::DraftVersion::Parameters::Variants + ) + end + attr_accessor :parameters + + # The version of the rule, this is incremented whenever the rule's parameters + # change. + sig { returns(Integer) } + attr_accessor :version + + sig do + params( + parameters: + T.any( + Lithic::AuthRules::ConditionalBlockParameters::OrHash, + Lithic::AuthRules::VelocityLimitParams::OrHash, + Lithic::AuthRules::MerchantLockParameters::OrHash, + Lithic::AuthRules::Conditional3DSActionParameters::OrHash, + Lithic::AuthRules::ConditionalAuthorizationActionParameters::OrHash, + Lithic::AuthRules::ConditionalACHActionParameters::OrHash, + Lithic::AuthRules::ConditionalTokenizationActionParameters::OrHash + ), + version: Integer + ).returns(T.attached_class) + end + def self.new( + # Parameters for the Auth Rule + parameters:, + # The version of the rule, this is incremented whenever the rule's parameters + # change. + version: + ) + end + + sig do + override.returns( + { + parameters: + Lithic::AuthRules::AuthRule::DraftVersion::Parameters::Variants, + version: Integer + } + ) + end + def to_hash + end + + # Parameters for the Auth Rule + module Parameters + extend Lithic::Internal::Type::Union + + Variants = + T.type_alias do + T.any( + Lithic::AuthRules::ConditionalBlockParameters, + Lithic::AuthRules::VelocityLimitParams, + Lithic::AuthRules::MerchantLockParameters, + Lithic::AuthRules::Conditional3DSActionParameters, + Lithic::AuthRules::ConditionalAuthorizationActionParameters, + Lithic::AuthRules::ConditionalACHActionParameters, + Lithic::AuthRules::ConditionalTokenizationActionParameters + ) + end + + sig do + override.returns( + T::Array[ + Lithic::AuthRules::AuthRule::DraftVersion::Parameters::Variants + ] + ) + end + def self.variants + end + end + end + + # The state of the Auth Rule module State extend Lithic::Internal::Type::Enum @@ -154,6 +366,53 @@ module Lithic def self.values end end + + # The type of Auth Rule. For certain rule types, this determines the event stream + # during which it will be evaluated. For rules that can be applied to one of + # several event streams, the effective one is defined by the separate + # `event_stream` field. + # + # - `CONDITIONAL_BLOCK`: AUTHORIZATION event stream. + # - `VELOCITY_LIMIT`: AUTHORIZATION event stream. + # - `MERCHANT_LOCK`: AUTHORIZATION event stream. + # - `CONDITIONAL_ACTION`: AUTHORIZATION, THREE_DS_AUTHENTICATION, TOKENIZATION, + # ACH_CREDIT_RECEIPT, or ACH_DEBIT_RECEIPT event stream. + module Type + extend Lithic::Internal::Type::Enum + + TaggedSymbol = + T.type_alias { T.all(Symbol, Lithic::AuthRules::AuthRule::Type) } + OrSymbol = T.type_alias { T.any(Symbol, String) } + + CONDITIONAL_BLOCK = + T.let( + :CONDITIONAL_BLOCK, + Lithic::AuthRules::AuthRule::Type::TaggedSymbol + ) + VELOCITY_LIMIT = + T.let( + :VELOCITY_LIMIT, + Lithic::AuthRules::AuthRule::Type::TaggedSymbol + ) + MERCHANT_LOCK = + T.let( + :MERCHANT_LOCK, + Lithic::AuthRules::AuthRule::Type::TaggedSymbol + ) + CONDITIONAL_ACTION = + T.let( + :CONDITIONAL_ACTION, + Lithic::AuthRules::AuthRule::Type::TaggedSymbol + ) + + sig do + override.returns( + T::Array[Lithic::AuthRules::AuthRule::Type::TaggedSymbol] + ) + end + def self.values + end + end end end end diff --git a/rbi/lithic/models/auth_rules/conditional_operation.rbi b/rbi/lithic/models/auth_rules/conditional_operation.rbi index a35f79a1..c21d8fd6 100644 --- a/rbi/lithic/models/auth_rules/conditional_operation.rbi +++ b/rbi/lithic/models/auth_rules/conditional_operation.rbi @@ -60,6 +60,31 @@ module Lithic :IS_LESS_THAN_OR_EQUAL_TO, Lithic::AuthRules::ConditionalOperation::TaggedSymbol ) + IS_AFTER = + T.let( + :IS_AFTER, + Lithic::AuthRules::ConditionalOperation::TaggedSymbol + ) + IS_BEFORE = + T.let( + :IS_BEFORE, + Lithic::AuthRules::ConditionalOperation::TaggedSymbol + ) + CONTAINS_ANY = + T.let( + :CONTAINS_ANY, + Lithic::AuthRules::ConditionalOperation::TaggedSymbol + ) + CONTAINS_ALL = + T.let( + :CONTAINS_ALL, + Lithic::AuthRules::ConditionalOperation::TaggedSymbol + ) + CONTAINS_NONE = + T.let( + :CONTAINS_NONE, + Lithic::AuthRules::ConditionalOperation::TaggedSymbol + ) sig do override.returns( diff --git a/rbi/lithic/models/auth_rules/conditional_tokenization_action_parameters.rbi b/rbi/lithic/models/auth_rules/conditional_tokenization_action_parameters.rbi index 034fbefb..bc3df608 100644 --- a/rbi/lithic/models/auth_rules/conditional_tokenization_action_parameters.rbi +++ b/rbi/lithic/models/auth_rules/conditional_tokenization_action_parameters.rbi @@ -504,6 +504,14 @@ module Lithic # - `WALLET_RECOMMENDED_DECISION`: The decision recommended by the digital wallet # provider. Valid values include APPROVE, DECLINE, # REQUIRE_ADDITIONAL_AUTHENTICATION. + # - `WALLET_RECOMMENDATION_REASONS`: List of reasons provided by the digital + # wallet provider for the recommended decision. Valid values are + # `ACCOUNT_CARD_TOO_NEW`, `ACCOUNT_RECENTLY_CHANGED`, `ACCOUNT_TOO_NEW`, + # `ACCOUNT_TOO_NEW_SINCE_LAUNCH`, `DEVICE_RECENTLY_LOST`, + # `HAS_SUSPENDED_TOKENS`, `HIGH_RISK`, `INACTIVE_ACCOUNT`, `LOW_ACCOUNT_SCORE`, + # `LOW_DEVICE_SCORE`, `OUTSIDE_HOME_TERRITORY`, `SUSPICIOUS_ACTIVITY`, + # `TOO_MANY_DIFFERENT_CARDHOLDERS`, `TOO_MANY_RECENT_ATTEMPTS`, + # `TOO_MANY_RECENT_TOKENS`, `UNABLE_TO_ASSESS`. # - `TOKEN_REQUESTOR_ID`: Unique identifier for the entity requesting the token. # - `WALLET_TOKEN_STATUS`: The current status of the wallet token. sig do @@ -552,6 +560,14 @@ module Lithic # - `WALLET_RECOMMENDED_DECISION`: The decision recommended by the digital wallet # provider. Valid values include APPROVE, DECLINE, # REQUIRE_ADDITIONAL_AUTHENTICATION. + # - `WALLET_RECOMMENDATION_REASONS`: List of reasons provided by the digital + # wallet provider for the recommended decision. Valid values are + # `ACCOUNT_CARD_TOO_NEW`, `ACCOUNT_RECENTLY_CHANGED`, `ACCOUNT_TOO_NEW`, + # `ACCOUNT_TOO_NEW_SINCE_LAUNCH`, `DEVICE_RECENTLY_LOST`, + # `HAS_SUSPENDED_TOKENS`, `HIGH_RISK`, `INACTIVE_ACCOUNT`, `LOW_ACCOUNT_SCORE`, + # `LOW_DEVICE_SCORE`, `OUTSIDE_HOME_TERRITORY`, `SUSPICIOUS_ACTIVITY`, + # `TOO_MANY_DIFFERENT_CARDHOLDERS`, `TOO_MANY_RECENT_ATTEMPTS`, + # `TOO_MANY_RECENT_TOKENS`, `UNABLE_TO_ASSESS`. # - `TOKEN_REQUESTOR_ID`: Unique identifier for the entity requesting the token. # - `WALLET_TOKEN_STATUS`: The current status of the wallet token. attribute:, @@ -597,6 +613,14 @@ module Lithic # - `WALLET_RECOMMENDED_DECISION`: The decision recommended by the digital wallet # provider. Valid values include APPROVE, DECLINE, # REQUIRE_ADDITIONAL_AUTHENTICATION. + # - `WALLET_RECOMMENDATION_REASONS`: List of reasons provided by the digital + # wallet provider for the recommended decision. Valid values are + # `ACCOUNT_CARD_TOO_NEW`, `ACCOUNT_RECENTLY_CHANGED`, `ACCOUNT_TOO_NEW`, + # `ACCOUNT_TOO_NEW_SINCE_LAUNCH`, `DEVICE_RECENTLY_LOST`, + # `HAS_SUSPENDED_TOKENS`, `HIGH_RISK`, `INACTIVE_ACCOUNT`, `LOW_ACCOUNT_SCORE`, + # `LOW_DEVICE_SCORE`, `OUTSIDE_HOME_TERRITORY`, `SUSPICIOUS_ACTIVITY`, + # `TOO_MANY_DIFFERENT_CARDHOLDERS`, `TOO_MANY_RECENT_ATTEMPTS`, + # `TOO_MANY_RECENT_TOKENS`, `UNABLE_TO_ASSESS`. # - `TOKEN_REQUESTOR_ID`: Unique identifier for the entity requesting the token. # - `WALLET_TOKEN_STATUS`: The current status of the wallet token. module Attribute @@ -646,6 +670,11 @@ module Lithic :WALLET_RECOMMENDED_DECISION, Lithic::AuthRules::ConditionalTokenizationActionParameters::Condition::Attribute::TaggedSymbol ) + WALLET_RECOMMENDATION_REASONS = + T.let( + :WALLET_RECOMMENDATION_REASONS, + Lithic::AuthRules::ConditionalTokenizationActionParameters::Condition::Attribute::TaggedSymbol + ) TOKEN_REQUESTOR_ID = T.let( :TOKEN_REQUESTOR_ID, diff --git a/rbi/lithic/models/auth_rules/conditional_value.rbi b/rbi/lithic/models/auth_rules/conditional_value.rbi index a49ab9c5..dda89c22 100644 --- a/rbi/lithic/models/auth_rules/conditional_value.rbi +++ b/rbi/lithic/models/auth_rules/conditional_value.rbi @@ -7,7 +7,8 @@ module Lithic module ConditionalValue extend Lithic::Internal::Type::Union - Variants = T.type_alias { T.any(String, Integer, T::Array[String]) } + Variants = + T.type_alias { T.any(String, Integer, T::Array[String], Time) } sig do override.returns( diff --git a/rbi/lithic/models/auth_rules/event_stream.rbi b/rbi/lithic/models/auth_rules/event_stream.rbi new file mode 100644 index 00000000..dc64c203 --- /dev/null +++ b/rbi/lithic/models/auth_rules/event_stream.rbi @@ -0,0 +1,44 @@ +# typed: strong + +module Lithic + module Models + module AuthRules + # The event stream during which the rule will be evaluated. + module EventStream + extend Lithic::Internal::Type::Enum + + TaggedSymbol = + T.type_alias { T.all(Symbol, Lithic::AuthRules::EventStream) } + OrSymbol = T.type_alias { T.any(Symbol, String) } + + AUTHORIZATION = + T.let(:AUTHORIZATION, Lithic::AuthRules::EventStream::TaggedSymbol) + THREE_DS_AUTHENTICATION = + T.let( + :THREE_DS_AUTHENTICATION, + Lithic::AuthRules::EventStream::TaggedSymbol + ) + TOKENIZATION = + T.let(:TOKENIZATION, Lithic::AuthRules::EventStream::TaggedSymbol) + ACH_CREDIT_RECEIPT = + T.let( + :ACH_CREDIT_RECEIPT, + Lithic::AuthRules::EventStream::TaggedSymbol + ) + ACH_DEBIT_RECEIPT = + T.let( + :ACH_DEBIT_RECEIPT, + Lithic::AuthRules::EventStream::TaggedSymbol + ) + + sig do + override.returns( + T::Array[Lithic::AuthRules::EventStream::TaggedSymbol] + ) + end + def self.values + end + end + end + end +end diff --git a/rbi/lithic/models/auth_rules/v2_create_params.rbi b/rbi/lithic/models/auth_rules/v2_create_params.rbi index d8f8147c..b629de3f 100644 --- a/rbi/lithic/models/auth_rules/v2_create_params.rbi +++ b/rbi/lithic/models/auth_rules/v2_create_params.rbi @@ -56,18 +56,11 @@ module Lithic attr_writer :business_account_tokens # The event stream during which the rule will be evaluated. - sig do - returns( - T.nilable(Lithic::AuthRules::V2CreateParams::EventStream::OrSymbol) - ) - end + sig { returns(T.nilable(Lithic::AuthRules::EventStream::OrSymbol)) } attr_reader :event_stream sig do - params( - event_stream: - Lithic::AuthRules::V2CreateParams::EventStream::OrSymbol - ).void + params(event_stream: Lithic::AuthRules::EventStream::OrSymbol).void end attr_writer :event_stream @@ -107,8 +100,7 @@ module Lithic program_level: T::Boolean, account_tokens: T::Array[String], business_account_tokens: T::Array[String], - event_stream: - Lithic::AuthRules::V2CreateParams::EventStream::OrSymbol, + event_stream: Lithic::AuthRules::EventStream::OrSymbol, name: T.nilable(String), excluded_card_tokens: T::Array[String], request_options: Lithic::RequestOptions::OrHash @@ -162,8 +154,7 @@ module Lithic type: Lithic::AuthRules::V2CreateParams::Type::OrSymbol, account_tokens: T::Array[String], business_account_tokens: T::Array[String], - event_stream: - Lithic::AuthRules::V2CreateParams::EventStream::OrSymbol, + event_stream: Lithic::AuthRules::EventStream::OrSymbol, name: T.nilable(String), card_tokens: T::Array[String], program_level: T::Boolean, @@ -249,53 +240,6 @@ module Lithic def self.values end end - - # The event stream during which the rule will be evaluated. - module EventStream - extend Lithic::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all(Symbol, Lithic::AuthRules::V2CreateParams::EventStream) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - AUTHORIZATION = - T.let( - :AUTHORIZATION, - Lithic::AuthRules::V2CreateParams::EventStream::TaggedSymbol - ) - THREE_DS_AUTHENTICATION = - T.let( - :THREE_DS_AUTHENTICATION, - Lithic::AuthRules::V2CreateParams::EventStream::TaggedSymbol - ) - TOKENIZATION = - T.let( - :TOKENIZATION, - Lithic::AuthRules::V2CreateParams::EventStream::TaggedSymbol - ) - ACH_CREDIT_RECEIPT = - T.let( - :ACH_CREDIT_RECEIPT, - Lithic::AuthRules::V2CreateParams::EventStream::TaggedSymbol - ) - ACH_DEBIT_RECEIPT = - T.let( - :ACH_DEBIT_RECEIPT, - Lithic::AuthRules::V2CreateParams::EventStream::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Lithic::AuthRules::V2CreateParams::EventStream::TaggedSymbol - ] - ) - end - def self.values - end - end end end end diff --git a/rbi/lithic/models/auth_rules/v2_create_response.rbi b/rbi/lithic/models/auth_rules/v2_create_response.rbi deleted file mode 100644 index 13ddfb69..00000000 --- a/rbi/lithic/models/auth_rules/v2_create_response.rbi +++ /dev/null @@ -1,522 +0,0 @@ -# typed: strong - -module Lithic - module Models - module AuthRules - class V2CreateResponse < Lithic::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Lithic::Models::AuthRules::V2CreateResponse, - Lithic::Internal::AnyHash - ) - end - - # Auth Rule Token - sig { returns(String) } - attr_accessor :token - - # Account tokens to which the Auth Rule applies. - sig { returns(T::Array[String]) } - attr_accessor :account_tokens - - # Business Account tokens to which the Auth Rule applies. - sig { returns(T::Array[String]) } - attr_accessor :business_account_tokens - - # Card tokens to which the Auth Rule applies. - sig { returns(T::Array[String]) } - attr_accessor :card_tokens - - sig do - returns( - T.nilable( - Lithic::Models::AuthRules::V2CreateResponse::CurrentVersion - ) - ) - end - attr_reader :current_version - - sig do - params( - current_version: - T.nilable( - Lithic::Models::AuthRules::V2CreateResponse::CurrentVersion::OrHash - ) - ).void - end - attr_writer :current_version - - sig do - returns( - T.nilable(Lithic::Models::AuthRules::V2CreateResponse::DraftVersion) - ) - end - attr_reader :draft_version - - sig do - params( - draft_version: - T.nilable( - Lithic::Models::AuthRules::V2CreateResponse::DraftVersion::OrHash - ) - ).void - end - attr_writer :draft_version - - # The event stream during which the rule will be evaluated. - sig do - returns( - Lithic::Models::AuthRules::V2CreateResponse::EventStream::TaggedSymbol - ) - end - attr_accessor :event_stream - - # Indicates whether this auth rule is managed by Lithic. If true, the rule cannot - # be modified or deleted by the user - sig { returns(T::Boolean) } - attr_accessor :lithic_managed - - # Auth Rule Name - sig { returns(T.nilable(String)) } - attr_accessor :name - - # Whether the Auth Rule applies to all authorizations on the card program. - sig { returns(T::Boolean) } - attr_accessor :program_level - - # The state of the Auth Rule - sig do - returns( - Lithic::Models::AuthRules::V2CreateResponse::State::TaggedSymbol - ) - end - attr_accessor :state - - # The type of Auth Rule. For certain rule types, this determines the event stream - # during which it will be evaluated. For rules that can be applied to one of - # several event streams, the effective one is defined by the separate - # `event_stream` field. - # - # - `CONDITIONAL_BLOCK`: AUTHORIZATION event stream. - # - `VELOCITY_LIMIT`: AUTHORIZATION event stream. - # - `MERCHANT_LOCK`: AUTHORIZATION event stream. - # - `CONDITIONAL_ACTION`: AUTHORIZATION, THREE_DS_AUTHENTICATION, TOKENIZATION, - # ACH_CREDIT_RECEIPT, or ACH_DEBIT_RECEIPT event stream. - sig do - returns( - Lithic::Models::AuthRules::V2CreateResponse::Type::TaggedSymbol - ) - end - attr_accessor :type - - # Card tokens to which the Auth Rule does not apply. - sig { returns(T.nilable(T::Array[String])) } - attr_reader :excluded_card_tokens - - sig { params(excluded_card_tokens: T::Array[String]).void } - attr_writer :excluded_card_tokens - - sig do - params( - token: String, - account_tokens: T::Array[String], - business_account_tokens: T::Array[String], - card_tokens: T::Array[String], - current_version: - T.nilable( - Lithic::Models::AuthRules::V2CreateResponse::CurrentVersion::OrHash - ), - draft_version: - T.nilable( - Lithic::Models::AuthRules::V2CreateResponse::DraftVersion::OrHash - ), - event_stream: - Lithic::Models::AuthRules::V2CreateResponse::EventStream::OrSymbol, - lithic_managed: T::Boolean, - name: T.nilable(String), - program_level: T::Boolean, - state: Lithic::Models::AuthRules::V2CreateResponse::State::OrSymbol, - type: Lithic::Models::AuthRules::V2CreateResponse::Type::OrSymbol, - excluded_card_tokens: T::Array[String] - ).returns(T.attached_class) - end - def self.new( - # Auth Rule Token - token:, - # Account tokens to which the Auth Rule applies. - account_tokens:, - # Business Account tokens to which the Auth Rule applies. - business_account_tokens:, - # Card tokens to which the Auth Rule applies. - card_tokens:, - current_version:, - draft_version:, - # The event stream during which the rule will be evaluated. - event_stream:, - # Indicates whether this auth rule is managed by Lithic. If true, the rule cannot - # be modified or deleted by the user - lithic_managed:, - # Auth Rule Name - name:, - # Whether the Auth Rule applies to all authorizations on the card program. - program_level:, - # The state of the Auth Rule - state:, - # The type of Auth Rule. For certain rule types, this determines the event stream - # during which it will be evaluated. For rules that can be applied to one of - # several event streams, the effective one is defined by the separate - # `event_stream` field. - # - # - `CONDITIONAL_BLOCK`: AUTHORIZATION event stream. - # - `VELOCITY_LIMIT`: AUTHORIZATION event stream. - # - `MERCHANT_LOCK`: AUTHORIZATION event stream. - # - `CONDITIONAL_ACTION`: AUTHORIZATION, THREE_DS_AUTHENTICATION, TOKENIZATION, - # ACH_CREDIT_RECEIPT, or ACH_DEBIT_RECEIPT event stream. - type:, - # Card tokens to which the Auth Rule does not apply. - excluded_card_tokens: nil - ) - end - - sig do - override.returns( - { - token: String, - account_tokens: T::Array[String], - business_account_tokens: T::Array[String], - card_tokens: T::Array[String], - current_version: - T.nilable( - Lithic::Models::AuthRules::V2CreateResponse::CurrentVersion - ), - draft_version: - T.nilable( - Lithic::Models::AuthRules::V2CreateResponse::DraftVersion - ), - event_stream: - Lithic::Models::AuthRules::V2CreateResponse::EventStream::TaggedSymbol, - lithic_managed: T::Boolean, - name: T.nilable(String), - program_level: T::Boolean, - state: - Lithic::Models::AuthRules::V2CreateResponse::State::TaggedSymbol, - type: - Lithic::Models::AuthRules::V2CreateResponse::Type::TaggedSymbol, - excluded_card_tokens: T::Array[String] - } - ) - end - def to_hash - end - - class CurrentVersion < Lithic::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Lithic::Models::AuthRules::V2CreateResponse::CurrentVersion, - Lithic::Internal::AnyHash - ) - end - - # Parameters for the Auth Rule - sig do - returns( - Lithic::Models::AuthRules::V2CreateResponse::CurrentVersion::Parameters::Variants - ) - end - attr_accessor :parameters - - # The version of the rule, this is incremented whenever the rule's parameters - # change. - sig { returns(Integer) } - attr_accessor :version - - sig do - params( - parameters: - T.any( - Lithic::AuthRules::ConditionalBlockParameters::OrHash, - Lithic::AuthRules::VelocityLimitParams::OrHash, - Lithic::AuthRules::MerchantLockParameters::OrHash, - Lithic::AuthRules::Conditional3DSActionParameters::OrHash, - Lithic::AuthRules::ConditionalAuthorizationActionParameters::OrHash, - Lithic::AuthRules::ConditionalACHActionParameters::OrHash, - Lithic::AuthRules::ConditionalTokenizationActionParameters::OrHash - ), - version: Integer - ).returns(T.attached_class) - end - def self.new( - # Parameters for the Auth Rule - parameters:, - # The version of the rule, this is incremented whenever the rule's parameters - # change. - version: - ) - end - - sig do - override.returns( - { - parameters: - Lithic::Models::AuthRules::V2CreateResponse::CurrentVersion::Parameters::Variants, - version: Integer - } - ) - end - def to_hash - end - - # Parameters for the Auth Rule - module Parameters - extend Lithic::Internal::Type::Union - - Variants = - T.type_alias do - T.any( - Lithic::AuthRules::ConditionalBlockParameters, - Lithic::AuthRules::VelocityLimitParams, - Lithic::AuthRules::MerchantLockParameters, - Lithic::AuthRules::Conditional3DSActionParameters, - Lithic::AuthRules::ConditionalAuthorizationActionParameters, - Lithic::AuthRules::ConditionalACHActionParameters, - Lithic::AuthRules::ConditionalTokenizationActionParameters - ) - end - - sig do - override.returns( - T::Array[ - Lithic::Models::AuthRules::V2CreateResponse::CurrentVersion::Parameters::Variants - ] - ) - end - def self.variants - end - end - end - - class DraftVersion < Lithic::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Lithic::Models::AuthRules::V2CreateResponse::DraftVersion, - Lithic::Internal::AnyHash - ) - end - - # Parameters for the Auth Rule - sig do - returns( - Lithic::Models::AuthRules::V2CreateResponse::DraftVersion::Parameters::Variants - ) - end - attr_accessor :parameters - - # The version of the rule, this is incremented whenever the rule's parameters - # change. - sig { returns(Integer) } - attr_accessor :version - - sig do - params( - parameters: - T.any( - Lithic::AuthRules::ConditionalBlockParameters::OrHash, - Lithic::AuthRules::VelocityLimitParams::OrHash, - Lithic::AuthRules::MerchantLockParameters::OrHash, - Lithic::AuthRules::Conditional3DSActionParameters::OrHash, - Lithic::AuthRules::ConditionalAuthorizationActionParameters::OrHash, - Lithic::AuthRules::ConditionalACHActionParameters::OrHash, - Lithic::AuthRules::ConditionalTokenizationActionParameters::OrHash - ), - version: Integer - ).returns(T.attached_class) - end - def self.new( - # Parameters for the Auth Rule - parameters:, - # The version of the rule, this is incremented whenever the rule's parameters - # change. - version: - ) - end - - sig do - override.returns( - { - parameters: - Lithic::Models::AuthRules::V2CreateResponse::DraftVersion::Parameters::Variants, - version: Integer - } - ) - end - def to_hash - end - - # Parameters for the Auth Rule - module Parameters - extend Lithic::Internal::Type::Union - - Variants = - T.type_alias do - T.any( - Lithic::AuthRules::ConditionalBlockParameters, - Lithic::AuthRules::VelocityLimitParams, - Lithic::AuthRules::MerchantLockParameters, - Lithic::AuthRules::Conditional3DSActionParameters, - Lithic::AuthRules::ConditionalAuthorizationActionParameters, - Lithic::AuthRules::ConditionalACHActionParameters, - Lithic::AuthRules::ConditionalTokenizationActionParameters - ) - end - - sig do - override.returns( - T::Array[ - Lithic::Models::AuthRules::V2CreateResponse::DraftVersion::Parameters::Variants - ] - ) - end - def self.variants - end - end - end - - # The event stream during which the rule will be evaluated. - module EventStream - extend Lithic::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Lithic::Models::AuthRules::V2CreateResponse::EventStream - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - AUTHORIZATION = - T.let( - :AUTHORIZATION, - Lithic::Models::AuthRules::V2CreateResponse::EventStream::TaggedSymbol - ) - THREE_DS_AUTHENTICATION = - T.let( - :THREE_DS_AUTHENTICATION, - Lithic::Models::AuthRules::V2CreateResponse::EventStream::TaggedSymbol - ) - TOKENIZATION = - T.let( - :TOKENIZATION, - Lithic::Models::AuthRules::V2CreateResponse::EventStream::TaggedSymbol - ) - ACH_CREDIT_RECEIPT = - T.let( - :ACH_CREDIT_RECEIPT, - Lithic::Models::AuthRules::V2CreateResponse::EventStream::TaggedSymbol - ) - ACH_DEBIT_RECEIPT = - T.let( - :ACH_DEBIT_RECEIPT, - Lithic::Models::AuthRules::V2CreateResponse::EventStream::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Lithic::Models::AuthRules::V2CreateResponse::EventStream::TaggedSymbol - ] - ) - end - def self.values - end - end - - # The state of the Auth Rule - module State - extend Lithic::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all(Symbol, Lithic::Models::AuthRules::V2CreateResponse::State) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - ACTIVE = - T.let( - :ACTIVE, - Lithic::Models::AuthRules::V2CreateResponse::State::TaggedSymbol - ) - INACTIVE = - T.let( - :INACTIVE, - Lithic::Models::AuthRules::V2CreateResponse::State::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Lithic::Models::AuthRules::V2CreateResponse::State::TaggedSymbol - ] - ) - end - def self.values - end - end - - # The type of Auth Rule. For certain rule types, this determines the event stream - # during which it will be evaluated. For rules that can be applied to one of - # several event streams, the effective one is defined by the separate - # `event_stream` field. - # - # - `CONDITIONAL_BLOCK`: AUTHORIZATION event stream. - # - `VELOCITY_LIMIT`: AUTHORIZATION event stream. - # - `MERCHANT_LOCK`: AUTHORIZATION event stream. - # - `CONDITIONAL_ACTION`: AUTHORIZATION, THREE_DS_AUTHENTICATION, TOKENIZATION, - # ACH_CREDIT_RECEIPT, or ACH_DEBIT_RECEIPT event stream. - module Type - extend Lithic::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all(Symbol, Lithic::Models::AuthRules::V2CreateResponse::Type) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - CONDITIONAL_BLOCK = - T.let( - :CONDITIONAL_BLOCK, - Lithic::Models::AuthRules::V2CreateResponse::Type::TaggedSymbol - ) - VELOCITY_LIMIT = - T.let( - :VELOCITY_LIMIT, - Lithic::Models::AuthRules::V2CreateResponse::Type::TaggedSymbol - ) - MERCHANT_LOCK = - T.let( - :MERCHANT_LOCK, - Lithic::Models::AuthRules::V2CreateResponse::Type::TaggedSymbol - ) - CONDITIONAL_ACTION = - T.let( - :CONDITIONAL_ACTION, - Lithic::Models::AuthRules::V2CreateResponse::Type::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Lithic::Models::AuthRules::V2CreateResponse::Type::TaggedSymbol - ] - ) - end - def self.values - end - end - end - end - end -end diff --git a/rbi/lithic/models/auth_rules/v2_draft_response.rbi b/rbi/lithic/models/auth_rules/v2_draft_response.rbi deleted file mode 100644 index e934a2c8..00000000 --- a/rbi/lithic/models/auth_rules/v2_draft_response.rbi +++ /dev/null @@ -1,522 +0,0 @@ -# typed: strong - -module Lithic - module Models - module AuthRules - class V2DraftResponse < Lithic::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Lithic::Models::AuthRules::V2DraftResponse, - Lithic::Internal::AnyHash - ) - end - - # Auth Rule Token - sig { returns(String) } - attr_accessor :token - - # Account tokens to which the Auth Rule applies. - sig { returns(T::Array[String]) } - attr_accessor :account_tokens - - # Business Account tokens to which the Auth Rule applies. - sig { returns(T::Array[String]) } - attr_accessor :business_account_tokens - - # Card tokens to which the Auth Rule applies. - sig { returns(T::Array[String]) } - attr_accessor :card_tokens - - sig do - returns( - T.nilable( - Lithic::Models::AuthRules::V2DraftResponse::CurrentVersion - ) - ) - end - attr_reader :current_version - - sig do - params( - current_version: - T.nilable( - Lithic::Models::AuthRules::V2DraftResponse::CurrentVersion::OrHash - ) - ).void - end - attr_writer :current_version - - sig do - returns( - T.nilable(Lithic::Models::AuthRules::V2DraftResponse::DraftVersion) - ) - end - attr_reader :draft_version - - sig do - params( - draft_version: - T.nilable( - Lithic::Models::AuthRules::V2DraftResponse::DraftVersion::OrHash - ) - ).void - end - attr_writer :draft_version - - # The event stream during which the rule will be evaluated. - sig do - returns( - Lithic::Models::AuthRules::V2DraftResponse::EventStream::TaggedSymbol - ) - end - attr_accessor :event_stream - - # Indicates whether this auth rule is managed by Lithic. If true, the rule cannot - # be modified or deleted by the user - sig { returns(T::Boolean) } - attr_accessor :lithic_managed - - # Auth Rule Name - sig { returns(T.nilable(String)) } - attr_accessor :name - - # Whether the Auth Rule applies to all authorizations on the card program. - sig { returns(T::Boolean) } - attr_accessor :program_level - - # The state of the Auth Rule - sig do - returns( - Lithic::Models::AuthRules::V2DraftResponse::State::TaggedSymbol - ) - end - attr_accessor :state - - # The type of Auth Rule. For certain rule types, this determines the event stream - # during which it will be evaluated. For rules that can be applied to one of - # several event streams, the effective one is defined by the separate - # `event_stream` field. - # - # - `CONDITIONAL_BLOCK`: AUTHORIZATION event stream. - # - `VELOCITY_LIMIT`: AUTHORIZATION event stream. - # - `MERCHANT_LOCK`: AUTHORIZATION event stream. - # - `CONDITIONAL_ACTION`: AUTHORIZATION, THREE_DS_AUTHENTICATION, TOKENIZATION, - # ACH_CREDIT_RECEIPT, or ACH_DEBIT_RECEIPT event stream. - sig do - returns( - Lithic::Models::AuthRules::V2DraftResponse::Type::TaggedSymbol - ) - end - attr_accessor :type - - # Card tokens to which the Auth Rule does not apply. - sig { returns(T.nilable(T::Array[String])) } - attr_reader :excluded_card_tokens - - sig { params(excluded_card_tokens: T::Array[String]).void } - attr_writer :excluded_card_tokens - - sig do - params( - token: String, - account_tokens: T::Array[String], - business_account_tokens: T::Array[String], - card_tokens: T::Array[String], - current_version: - T.nilable( - Lithic::Models::AuthRules::V2DraftResponse::CurrentVersion::OrHash - ), - draft_version: - T.nilable( - Lithic::Models::AuthRules::V2DraftResponse::DraftVersion::OrHash - ), - event_stream: - Lithic::Models::AuthRules::V2DraftResponse::EventStream::OrSymbol, - lithic_managed: T::Boolean, - name: T.nilable(String), - program_level: T::Boolean, - state: Lithic::Models::AuthRules::V2DraftResponse::State::OrSymbol, - type: Lithic::Models::AuthRules::V2DraftResponse::Type::OrSymbol, - excluded_card_tokens: T::Array[String] - ).returns(T.attached_class) - end - def self.new( - # Auth Rule Token - token:, - # Account tokens to which the Auth Rule applies. - account_tokens:, - # Business Account tokens to which the Auth Rule applies. - business_account_tokens:, - # Card tokens to which the Auth Rule applies. - card_tokens:, - current_version:, - draft_version:, - # The event stream during which the rule will be evaluated. - event_stream:, - # Indicates whether this auth rule is managed by Lithic. If true, the rule cannot - # be modified or deleted by the user - lithic_managed:, - # Auth Rule Name - name:, - # Whether the Auth Rule applies to all authorizations on the card program. - program_level:, - # The state of the Auth Rule - state:, - # The type of Auth Rule. For certain rule types, this determines the event stream - # during which it will be evaluated. For rules that can be applied to one of - # several event streams, the effective one is defined by the separate - # `event_stream` field. - # - # - `CONDITIONAL_BLOCK`: AUTHORIZATION event stream. - # - `VELOCITY_LIMIT`: AUTHORIZATION event stream. - # - `MERCHANT_LOCK`: AUTHORIZATION event stream. - # - `CONDITIONAL_ACTION`: AUTHORIZATION, THREE_DS_AUTHENTICATION, TOKENIZATION, - # ACH_CREDIT_RECEIPT, or ACH_DEBIT_RECEIPT event stream. - type:, - # Card tokens to which the Auth Rule does not apply. - excluded_card_tokens: nil - ) - end - - sig do - override.returns( - { - token: String, - account_tokens: T::Array[String], - business_account_tokens: T::Array[String], - card_tokens: T::Array[String], - current_version: - T.nilable( - Lithic::Models::AuthRules::V2DraftResponse::CurrentVersion - ), - draft_version: - T.nilable( - Lithic::Models::AuthRules::V2DraftResponse::DraftVersion - ), - event_stream: - Lithic::Models::AuthRules::V2DraftResponse::EventStream::TaggedSymbol, - lithic_managed: T::Boolean, - name: T.nilable(String), - program_level: T::Boolean, - state: - Lithic::Models::AuthRules::V2DraftResponse::State::TaggedSymbol, - type: - Lithic::Models::AuthRules::V2DraftResponse::Type::TaggedSymbol, - excluded_card_tokens: T::Array[String] - } - ) - end - def to_hash - end - - class CurrentVersion < Lithic::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Lithic::Models::AuthRules::V2DraftResponse::CurrentVersion, - Lithic::Internal::AnyHash - ) - end - - # Parameters for the Auth Rule - sig do - returns( - Lithic::Models::AuthRules::V2DraftResponse::CurrentVersion::Parameters::Variants - ) - end - attr_accessor :parameters - - # The version of the rule, this is incremented whenever the rule's parameters - # change. - sig { returns(Integer) } - attr_accessor :version - - sig do - params( - parameters: - T.any( - Lithic::AuthRules::ConditionalBlockParameters::OrHash, - Lithic::AuthRules::VelocityLimitParams::OrHash, - Lithic::AuthRules::MerchantLockParameters::OrHash, - Lithic::AuthRules::Conditional3DSActionParameters::OrHash, - Lithic::AuthRules::ConditionalAuthorizationActionParameters::OrHash, - Lithic::AuthRules::ConditionalACHActionParameters::OrHash, - Lithic::AuthRules::ConditionalTokenizationActionParameters::OrHash - ), - version: Integer - ).returns(T.attached_class) - end - def self.new( - # Parameters for the Auth Rule - parameters:, - # The version of the rule, this is incremented whenever the rule's parameters - # change. - version: - ) - end - - sig do - override.returns( - { - parameters: - Lithic::Models::AuthRules::V2DraftResponse::CurrentVersion::Parameters::Variants, - version: Integer - } - ) - end - def to_hash - end - - # Parameters for the Auth Rule - module Parameters - extend Lithic::Internal::Type::Union - - Variants = - T.type_alias do - T.any( - Lithic::AuthRules::ConditionalBlockParameters, - Lithic::AuthRules::VelocityLimitParams, - Lithic::AuthRules::MerchantLockParameters, - Lithic::AuthRules::Conditional3DSActionParameters, - Lithic::AuthRules::ConditionalAuthorizationActionParameters, - Lithic::AuthRules::ConditionalACHActionParameters, - Lithic::AuthRules::ConditionalTokenizationActionParameters - ) - end - - sig do - override.returns( - T::Array[ - Lithic::Models::AuthRules::V2DraftResponse::CurrentVersion::Parameters::Variants - ] - ) - end - def self.variants - end - end - end - - class DraftVersion < Lithic::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Lithic::Models::AuthRules::V2DraftResponse::DraftVersion, - Lithic::Internal::AnyHash - ) - end - - # Parameters for the Auth Rule - sig do - returns( - Lithic::Models::AuthRules::V2DraftResponse::DraftVersion::Parameters::Variants - ) - end - attr_accessor :parameters - - # The version of the rule, this is incremented whenever the rule's parameters - # change. - sig { returns(Integer) } - attr_accessor :version - - sig do - params( - parameters: - T.any( - Lithic::AuthRules::ConditionalBlockParameters::OrHash, - Lithic::AuthRules::VelocityLimitParams::OrHash, - Lithic::AuthRules::MerchantLockParameters::OrHash, - Lithic::AuthRules::Conditional3DSActionParameters::OrHash, - Lithic::AuthRules::ConditionalAuthorizationActionParameters::OrHash, - Lithic::AuthRules::ConditionalACHActionParameters::OrHash, - Lithic::AuthRules::ConditionalTokenizationActionParameters::OrHash - ), - version: Integer - ).returns(T.attached_class) - end - def self.new( - # Parameters for the Auth Rule - parameters:, - # The version of the rule, this is incremented whenever the rule's parameters - # change. - version: - ) - end - - sig do - override.returns( - { - parameters: - Lithic::Models::AuthRules::V2DraftResponse::DraftVersion::Parameters::Variants, - version: Integer - } - ) - end - def to_hash - end - - # Parameters for the Auth Rule - module Parameters - extend Lithic::Internal::Type::Union - - Variants = - T.type_alias do - T.any( - Lithic::AuthRules::ConditionalBlockParameters, - Lithic::AuthRules::VelocityLimitParams, - Lithic::AuthRules::MerchantLockParameters, - Lithic::AuthRules::Conditional3DSActionParameters, - Lithic::AuthRules::ConditionalAuthorizationActionParameters, - Lithic::AuthRules::ConditionalACHActionParameters, - Lithic::AuthRules::ConditionalTokenizationActionParameters - ) - end - - sig do - override.returns( - T::Array[ - Lithic::Models::AuthRules::V2DraftResponse::DraftVersion::Parameters::Variants - ] - ) - end - def self.variants - end - end - end - - # The event stream during which the rule will be evaluated. - module EventStream - extend Lithic::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Lithic::Models::AuthRules::V2DraftResponse::EventStream - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - AUTHORIZATION = - T.let( - :AUTHORIZATION, - Lithic::Models::AuthRules::V2DraftResponse::EventStream::TaggedSymbol - ) - THREE_DS_AUTHENTICATION = - T.let( - :THREE_DS_AUTHENTICATION, - Lithic::Models::AuthRules::V2DraftResponse::EventStream::TaggedSymbol - ) - TOKENIZATION = - T.let( - :TOKENIZATION, - Lithic::Models::AuthRules::V2DraftResponse::EventStream::TaggedSymbol - ) - ACH_CREDIT_RECEIPT = - T.let( - :ACH_CREDIT_RECEIPT, - Lithic::Models::AuthRules::V2DraftResponse::EventStream::TaggedSymbol - ) - ACH_DEBIT_RECEIPT = - T.let( - :ACH_DEBIT_RECEIPT, - Lithic::Models::AuthRules::V2DraftResponse::EventStream::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Lithic::Models::AuthRules::V2DraftResponse::EventStream::TaggedSymbol - ] - ) - end - def self.values - end - end - - # The state of the Auth Rule - module State - extend Lithic::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all(Symbol, Lithic::Models::AuthRules::V2DraftResponse::State) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - ACTIVE = - T.let( - :ACTIVE, - Lithic::Models::AuthRules::V2DraftResponse::State::TaggedSymbol - ) - INACTIVE = - T.let( - :INACTIVE, - Lithic::Models::AuthRules::V2DraftResponse::State::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Lithic::Models::AuthRules::V2DraftResponse::State::TaggedSymbol - ] - ) - end - def self.values - end - end - - # The type of Auth Rule. For certain rule types, this determines the event stream - # during which it will be evaluated. For rules that can be applied to one of - # several event streams, the effective one is defined by the separate - # `event_stream` field. - # - # - `CONDITIONAL_BLOCK`: AUTHORIZATION event stream. - # - `VELOCITY_LIMIT`: AUTHORIZATION event stream. - # - `MERCHANT_LOCK`: AUTHORIZATION event stream. - # - `CONDITIONAL_ACTION`: AUTHORIZATION, THREE_DS_AUTHENTICATION, TOKENIZATION, - # ACH_CREDIT_RECEIPT, or ACH_DEBIT_RECEIPT event stream. - module Type - extend Lithic::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all(Symbol, Lithic::Models::AuthRules::V2DraftResponse::Type) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - CONDITIONAL_BLOCK = - T.let( - :CONDITIONAL_BLOCK, - Lithic::Models::AuthRules::V2DraftResponse::Type::TaggedSymbol - ) - VELOCITY_LIMIT = - T.let( - :VELOCITY_LIMIT, - Lithic::Models::AuthRules::V2DraftResponse::Type::TaggedSymbol - ) - MERCHANT_LOCK = - T.let( - :MERCHANT_LOCK, - Lithic::Models::AuthRules::V2DraftResponse::Type::TaggedSymbol - ) - CONDITIONAL_ACTION = - T.let( - :CONDITIONAL_ACTION, - Lithic::Models::AuthRules::V2DraftResponse::Type::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Lithic::Models::AuthRules::V2DraftResponse::Type::TaggedSymbol - ] - ) - end - def self.values - end - end - end - end - end -end diff --git a/rbi/lithic/models/auth_rules/v2_list_params.rbi b/rbi/lithic/models/auth_rules/v2_list_params.rbi index a3bebcf9..25adb197 100644 --- a/rbi/lithic/models/auth_rules/v2_list_params.rbi +++ b/rbi/lithic/models/auth_rules/v2_list_params.rbi @@ -41,20 +41,30 @@ module Lithic sig { params(ending_before: String).void } attr_writer :ending_before - # Only return Auth rules that are executed during the provided event stream. + # Deprecated: Use event_streams instead. Only return Auth rules that are executed + # during the provided event stream. + sig { returns(T.nilable(Lithic::AuthRules::EventStream::OrSymbol)) } + attr_reader :event_stream + sig do - returns( - T.nilable(Lithic::AuthRules::V2ListParams::EventStream::OrSymbol) - ) + params(event_stream: Lithic::AuthRules::EventStream::OrSymbol).void end - attr_reader :event_stream + attr_writer :event_stream + + # Only return Auth rules that are executed during any of the provided event + # streams. If event_streams and event_stream are specified, the values will be + # combined. + sig do + returns(T.nilable(T::Array[Lithic::AuthRules::EventStream::OrSymbol])) + end + attr_reader :event_streams sig do params( - event_stream: Lithic::AuthRules::V2ListParams::EventStream::OrSymbol + event_streams: T::Array[Lithic::AuthRules::EventStream::OrSymbol] ).void end - attr_writer :event_stream + attr_writer :event_streams # Page size (for pagination). sig { returns(T.nilable(Integer)) } @@ -88,8 +98,8 @@ module Lithic business_account_token: String, card_token: String, ending_before: String, - event_stream: - Lithic::AuthRules::V2ListParams::EventStream::OrSymbol, + event_stream: Lithic::AuthRules::EventStream::OrSymbol, + event_streams: T::Array[Lithic::AuthRules::EventStream::OrSymbol], page_size: Integer, scope: Lithic::AuthRules::V2ListParams::Scope::OrSymbol, starting_after: String, @@ -106,8 +116,13 @@ module Lithic # A cursor representing an item's token before which a page of results should end. # Used to retrieve the previous page of results before this item. ending_before: nil, - # Only return Auth rules that are executed during the provided event stream. + # Deprecated: Use event_streams instead. Only return Auth rules that are executed + # during the provided event stream. event_stream: nil, + # Only return Auth rules that are executed during any of the provided event + # streams. If event_streams and event_stream are specified, the values will be + # combined. + event_streams: nil, # Page size (for pagination). page_size: nil, # Only return Auth Rules that are bound to the provided scope. @@ -126,8 +141,8 @@ module Lithic business_account_token: String, card_token: String, ending_before: String, - event_stream: - Lithic::AuthRules::V2ListParams::EventStream::OrSymbol, + event_stream: Lithic::AuthRules::EventStream::OrSymbol, + event_streams: T::Array[Lithic::AuthRules::EventStream::OrSymbol], page_size: Integer, scope: Lithic::AuthRules::V2ListParams::Scope::OrSymbol, starting_after: String, @@ -138,53 +153,6 @@ module Lithic def to_hash end - # Only return Auth rules that are executed during the provided event stream. - module EventStream - extend Lithic::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all(Symbol, Lithic::AuthRules::V2ListParams::EventStream) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - AUTHORIZATION = - T.let( - :AUTHORIZATION, - Lithic::AuthRules::V2ListParams::EventStream::TaggedSymbol - ) - THREE_DS_AUTHENTICATION = - T.let( - :THREE_DS_AUTHENTICATION, - Lithic::AuthRules::V2ListParams::EventStream::TaggedSymbol - ) - TOKENIZATION = - T.let( - :TOKENIZATION, - Lithic::AuthRules::V2ListParams::EventStream::TaggedSymbol - ) - ACH_CREDIT_RECEIPT = - T.let( - :ACH_CREDIT_RECEIPT, - Lithic::AuthRules::V2ListParams::EventStream::TaggedSymbol - ) - ACH_DEBIT_RECEIPT = - T.let( - :ACH_DEBIT_RECEIPT, - Lithic::AuthRules::V2ListParams::EventStream::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Lithic::AuthRules::V2ListParams::EventStream::TaggedSymbol - ] - ) - end - def self.values - end - end - # Only return Auth Rules that are bound to the provided scope. module Scope extend Lithic::Internal::Type::Enum diff --git a/rbi/lithic/models/auth_rules/v2_list_response.rbi b/rbi/lithic/models/auth_rules/v2_list_response.rbi deleted file mode 100644 index c4f33a8c..00000000 --- a/rbi/lithic/models/auth_rules/v2_list_response.rbi +++ /dev/null @@ -1,518 +0,0 @@ -# typed: strong - -module Lithic - module Models - module AuthRules - class V2ListResponse < Lithic::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Lithic::Models::AuthRules::V2ListResponse, - Lithic::Internal::AnyHash - ) - end - - # Auth Rule Token - sig { returns(String) } - attr_accessor :token - - # Account tokens to which the Auth Rule applies. - sig { returns(T::Array[String]) } - attr_accessor :account_tokens - - # Business Account tokens to which the Auth Rule applies. - sig { returns(T::Array[String]) } - attr_accessor :business_account_tokens - - # Card tokens to which the Auth Rule applies. - sig { returns(T::Array[String]) } - attr_accessor :card_tokens - - sig do - returns( - T.nilable(Lithic::Models::AuthRules::V2ListResponse::CurrentVersion) - ) - end - attr_reader :current_version - - sig do - params( - current_version: - T.nilable( - Lithic::Models::AuthRules::V2ListResponse::CurrentVersion::OrHash - ) - ).void - end - attr_writer :current_version - - sig do - returns( - T.nilable(Lithic::Models::AuthRules::V2ListResponse::DraftVersion) - ) - end - attr_reader :draft_version - - sig do - params( - draft_version: - T.nilable( - Lithic::Models::AuthRules::V2ListResponse::DraftVersion::OrHash - ) - ).void - end - attr_writer :draft_version - - # The event stream during which the rule will be evaluated. - sig do - returns( - Lithic::Models::AuthRules::V2ListResponse::EventStream::TaggedSymbol - ) - end - attr_accessor :event_stream - - # Indicates whether this auth rule is managed by Lithic. If true, the rule cannot - # be modified or deleted by the user - sig { returns(T::Boolean) } - attr_accessor :lithic_managed - - # Auth Rule Name - sig { returns(T.nilable(String)) } - attr_accessor :name - - # Whether the Auth Rule applies to all authorizations on the card program. - sig { returns(T::Boolean) } - attr_accessor :program_level - - # The state of the Auth Rule - sig do - returns( - Lithic::Models::AuthRules::V2ListResponse::State::TaggedSymbol - ) - end - attr_accessor :state - - # The type of Auth Rule. For certain rule types, this determines the event stream - # during which it will be evaluated. For rules that can be applied to one of - # several event streams, the effective one is defined by the separate - # `event_stream` field. - # - # - `CONDITIONAL_BLOCK`: AUTHORIZATION event stream. - # - `VELOCITY_LIMIT`: AUTHORIZATION event stream. - # - `MERCHANT_LOCK`: AUTHORIZATION event stream. - # - `CONDITIONAL_ACTION`: AUTHORIZATION, THREE_DS_AUTHENTICATION, TOKENIZATION, - # ACH_CREDIT_RECEIPT, or ACH_DEBIT_RECEIPT event stream. - sig do - returns(Lithic::Models::AuthRules::V2ListResponse::Type::TaggedSymbol) - end - attr_accessor :type - - # Card tokens to which the Auth Rule does not apply. - sig { returns(T.nilable(T::Array[String])) } - attr_reader :excluded_card_tokens - - sig { params(excluded_card_tokens: T::Array[String]).void } - attr_writer :excluded_card_tokens - - sig do - params( - token: String, - account_tokens: T::Array[String], - business_account_tokens: T::Array[String], - card_tokens: T::Array[String], - current_version: - T.nilable( - Lithic::Models::AuthRules::V2ListResponse::CurrentVersion::OrHash - ), - draft_version: - T.nilable( - Lithic::Models::AuthRules::V2ListResponse::DraftVersion::OrHash - ), - event_stream: - Lithic::Models::AuthRules::V2ListResponse::EventStream::OrSymbol, - lithic_managed: T::Boolean, - name: T.nilable(String), - program_level: T::Boolean, - state: Lithic::Models::AuthRules::V2ListResponse::State::OrSymbol, - type: Lithic::Models::AuthRules::V2ListResponse::Type::OrSymbol, - excluded_card_tokens: T::Array[String] - ).returns(T.attached_class) - end - def self.new( - # Auth Rule Token - token:, - # Account tokens to which the Auth Rule applies. - account_tokens:, - # Business Account tokens to which the Auth Rule applies. - business_account_tokens:, - # Card tokens to which the Auth Rule applies. - card_tokens:, - current_version:, - draft_version:, - # The event stream during which the rule will be evaluated. - event_stream:, - # Indicates whether this auth rule is managed by Lithic. If true, the rule cannot - # be modified or deleted by the user - lithic_managed:, - # Auth Rule Name - name:, - # Whether the Auth Rule applies to all authorizations on the card program. - program_level:, - # The state of the Auth Rule - state:, - # The type of Auth Rule. For certain rule types, this determines the event stream - # during which it will be evaluated. For rules that can be applied to one of - # several event streams, the effective one is defined by the separate - # `event_stream` field. - # - # - `CONDITIONAL_BLOCK`: AUTHORIZATION event stream. - # - `VELOCITY_LIMIT`: AUTHORIZATION event stream. - # - `MERCHANT_LOCK`: AUTHORIZATION event stream. - # - `CONDITIONAL_ACTION`: AUTHORIZATION, THREE_DS_AUTHENTICATION, TOKENIZATION, - # ACH_CREDIT_RECEIPT, or ACH_DEBIT_RECEIPT event stream. - type:, - # Card tokens to which the Auth Rule does not apply. - excluded_card_tokens: nil - ) - end - - sig do - override.returns( - { - token: String, - account_tokens: T::Array[String], - business_account_tokens: T::Array[String], - card_tokens: T::Array[String], - current_version: - T.nilable( - Lithic::Models::AuthRules::V2ListResponse::CurrentVersion - ), - draft_version: - T.nilable( - Lithic::Models::AuthRules::V2ListResponse::DraftVersion - ), - event_stream: - Lithic::Models::AuthRules::V2ListResponse::EventStream::TaggedSymbol, - lithic_managed: T::Boolean, - name: T.nilable(String), - program_level: T::Boolean, - state: - Lithic::Models::AuthRules::V2ListResponse::State::TaggedSymbol, - type: - Lithic::Models::AuthRules::V2ListResponse::Type::TaggedSymbol, - excluded_card_tokens: T::Array[String] - } - ) - end - def to_hash - end - - class CurrentVersion < Lithic::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Lithic::Models::AuthRules::V2ListResponse::CurrentVersion, - Lithic::Internal::AnyHash - ) - end - - # Parameters for the Auth Rule - sig do - returns( - Lithic::Models::AuthRules::V2ListResponse::CurrentVersion::Parameters::Variants - ) - end - attr_accessor :parameters - - # The version of the rule, this is incremented whenever the rule's parameters - # change. - sig { returns(Integer) } - attr_accessor :version - - sig do - params( - parameters: - T.any( - Lithic::AuthRules::ConditionalBlockParameters::OrHash, - Lithic::AuthRules::VelocityLimitParams::OrHash, - Lithic::AuthRules::MerchantLockParameters::OrHash, - Lithic::AuthRules::Conditional3DSActionParameters::OrHash, - Lithic::AuthRules::ConditionalAuthorizationActionParameters::OrHash, - Lithic::AuthRules::ConditionalACHActionParameters::OrHash, - Lithic::AuthRules::ConditionalTokenizationActionParameters::OrHash - ), - version: Integer - ).returns(T.attached_class) - end - def self.new( - # Parameters for the Auth Rule - parameters:, - # The version of the rule, this is incremented whenever the rule's parameters - # change. - version: - ) - end - - sig do - override.returns( - { - parameters: - Lithic::Models::AuthRules::V2ListResponse::CurrentVersion::Parameters::Variants, - version: Integer - } - ) - end - def to_hash - end - - # Parameters for the Auth Rule - module Parameters - extend Lithic::Internal::Type::Union - - Variants = - T.type_alias do - T.any( - Lithic::AuthRules::ConditionalBlockParameters, - Lithic::AuthRules::VelocityLimitParams, - Lithic::AuthRules::MerchantLockParameters, - Lithic::AuthRules::Conditional3DSActionParameters, - Lithic::AuthRules::ConditionalAuthorizationActionParameters, - Lithic::AuthRules::ConditionalACHActionParameters, - Lithic::AuthRules::ConditionalTokenizationActionParameters - ) - end - - sig do - override.returns( - T::Array[ - Lithic::Models::AuthRules::V2ListResponse::CurrentVersion::Parameters::Variants - ] - ) - end - def self.variants - end - end - end - - class DraftVersion < Lithic::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Lithic::Models::AuthRules::V2ListResponse::DraftVersion, - Lithic::Internal::AnyHash - ) - end - - # Parameters for the Auth Rule - sig do - returns( - Lithic::Models::AuthRules::V2ListResponse::DraftVersion::Parameters::Variants - ) - end - attr_accessor :parameters - - # The version of the rule, this is incremented whenever the rule's parameters - # change. - sig { returns(Integer) } - attr_accessor :version - - sig do - params( - parameters: - T.any( - Lithic::AuthRules::ConditionalBlockParameters::OrHash, - Lithic::AuthRules::VelocityLimitParams::OrHash, - Lithic::AuthRules::MerchantLockParameters::OrHash, - Lithic::AuthRules::Conditional3DSActionParameters::OrHash, - Lithic::AuthRules::ConditionalAuthorizationActionParameters::OrHash, - Lithic::AuthRules::ConditionalACHActionParameters::OrHash, - Lithic::AuthRules::ConditionalTokenizationActionParameters::OrHash - ), - version: Integer - ).returns(T.attached_class) - end - def self.new( - # Parameters for the Auth Rule - parameters:, - # The version of the rule, this is incremented whenever the rule's parameters - # change. - version: - ) - end - - sig do - override.returns( - { - parameters: - Lithic::Models::AuthRules::V2ListResponse::DraftVersion::Parameters::Variants, - version: Integer - } - ) - end - def to_hash - end - - # Parameters for the Auth Rule - module Parameters - extend Lithic::Internal::Type::Union - - Variants = - T.type_alias do - T.any( - Lithic::AuthRules::ConditionalBlockParameters, - Lithic::AuthRules::VelocityLimitParams, - Lithic::AuthRules::MerchantLockParameters, - Lithic::AuthRules::Conditional3DSActionParameters, - Lithic::AuthRules::ConditionalAuthorizationActionParameters, - Lithic::AuthRules::ConditionalACHActionParameters, - Lithic::AuthRules::ConditionalTokenizationActionParameters - ) - end - - sig do - override.returns( - T::Array[ - Lithic::Models::AuthRules::V2ListResponse::DraftVersion::Parameters::Variants - ] - ) - end - def self.variants - end - end - end - - # The event stream during which the rule will be evaluated. - module EventStream - extend Lithic::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Lithic::Models::AuthRules::V2ListResponse::EventStream - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - AUTHORIZATION = - T.let( - :AUTHORIZATION, - Lithic::Models::AuthRules::V2ListResponse::EventStream::TaggedSymbol - ) - THREE_DS_AUTHENTICATION = - T.let( - :THREE_DS_AUTHENTICATION, - Lithic::Models::AuthRules::V2ListResponse::EventStream::TaggedSymbol - ) - TOKENIZATION = - T.let( - :TOKENIZATION, - Lithic::Models::AuthRules::V2ListResponse::EventStream::TaggedSymbol - ) - ACH_CREDIT_RECEIPT = - T.let( - :ACH_CREDIT_RECEIPT, - Lithic::Models::AuthRules::V2ListResponse::EventStream::TaggedSymbol - ) - ACH_DEBIT_RECEIPT = - T.let( - :ACH_DEBIT_RECEIPT, - Lithic::Models::AuthRules::V2ListResponse::EventStream::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Lithic::Models::AuthRules::V2ListResponse::EventStream::TaggedSymbol - ] - ) - end - def self.values - end - end - - # The state of the Auth Rule - module State - extend Lithic::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all(Symbol, Lithic::Models::AuthRules::V2ListResponse::State) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - ACTIVE = - T.let( - :ACTIVE, - Lithic::Models::AuthRules::V2ListResponse::State::TaggedSymbol - ) - INACTIVE = - T.let( - :INACTIVE, - Lithic::Models::AuthRules::V2ListResponse::State::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Lithic::Models::AuthRules::V2ListResponse::State::TaggedSymbol - ] - ) - end - def self.values - end - end - - # The type of Auth Rule. For certain rule types, this determines the event stream - # during which it will be evaluated. For rules that can be applied to one of - # several event streams, the effective one is defined by the separate - # `event_stream` field. - # - # - `CONDITIONAL_BLOCK`: AUTHORIZATION event stream. - # - `VELOCITY_LIMIT`: AUTHORIZATION event stream. - # - `MERCHANT_LOCK`: AUTHORIZATION event stream. - # - `CONDITIONAL_ACTION`: AUTHORIZATION, THREE_DS_AUTHENTICATION, TOKENIZATION, - # ACH_CREDIT_RECEIPT, or ACH_DEBIT_RECEIPT event stream. - module Type - extend Lithic::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all(Symbol, Lithic::Models::AuthRules::V2ListResponse::Type) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - CONDITIONAL_BLOCK = - T.let( - :CONDITIONAL_BLOCK, - Lithic::Models::AuthRules::V2ListResponse::Type::TaggedSymbol - ) - VELOCITY_LIMIT = - T.let( - :VELOCITY_LIMIT, - Lithic::Models::AuthRules::V2ListResponse::Type::TaggedSymbol - ) - MERCHANT_LOCK = - T.let( - :MERCHANT_LOCK, - Lithic::Models::AuthRules::V2ListResponse::Type::TaggedSymbol - ) - CONDITIONAL_ACTION = - T.let( - :CONDITIONAL_ACTION, - Lithic::Models::AuthRules::V2ListResponse::Type::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Lithic::Models::AuthRules::V2ListResponse::Type::TaggedSymbol - ] - ) - end - def self.values - end - end - end - end - end -end diff --git a/rbi/lithic/models/auth_rules/v2_promote_response.rbi b/rbi/lithic/models/auth_rules/v2_promote_response.rbi deleted file mode 100644 index 00de0ae5..00000000 --- a/rbi/lithic/models/auth_rules/v2_promote_response.rbi +++ /dev/null @@ -1,525 +0,0 @@ -# typed: strong - -module Lithic - module Models - module AuthRules - class V2PromoteResponse < Lithic::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Lithic::Models::AuthRules::V2PromoteResponse, - Lithic::Internal::AnyHash - ) - end - - # Auth Rule Token - sig { returns(String) } - attr_accessor :token - - # Account tokens to which the Auth Rule applies. - sig { returns(T::Array[String]) } - attr_accessor :account_tokens - - # Business Account tokens to which the Auth Rule applies. - sig { returns(T::Array[String]) } - attr_accessor :business_account_tokens - - # Card tokens to which the Auth Rule applies. - sig { returns(T::Array[String]) } - attr_accessor :card_tokens - - sig do - returns( - T.nilable( - Lithic::Models::AuthRules::V2PromoteResponse::CurrentVersion - ) - ) - end - attr_reader :current_version - - sig do - params( - current_version: - T.nilable( - Lithic::Models::AuthRules::V2PromoteResponse::CurrentVersion::OrHash - ) - ).void - end - attr_writer :current_version - - sig do - returns( - T.nilable( - Lithic::Models::AuthRules::V2PromoteResponse::DraftVersion - ) - ) - end - attr_reader :draft_version - - sig do - params( - draft_version: - T.nilable( - Lithic::Models::AuthRules::V2PromoteResponse::DraftVersion::OrHash - ) - ).void - end - attr_writer :draft_version - - # The event stream during which the rule will be evaluated. - sig do - returns( - Lithic::Models::AuthRules::V2PromoteResponse::EventStream::TaggedSymbol - ) - end - attr_accessor :event_stream - - # Indicates whether this auth rule is managed by Lithic. If true, the rule cannot - # be modified or deleted by the user - sig { returns(T::Boolean) } - attr_accessor :lithic_managed - - # Auth Rule Name - sig { returns(T.nilable(String)) } - attr_accessor :name - - # Whether the Auth Rule applies to all authorizations on the card program. - sig { returns(T::Boolean) } - attr_accessor :program_level - - # The state of the Auth Rule - sig do - returns( - Lithic::Models::AuthRules::V2PromoteResponse::State::TaggedSymbol - ) - end - attr_accessor :state - - # The type of Auth Rule. For certain rule types, this determines the event stream - # during which it will be evaluated. For rules that can be applied to one of - # several event streams, the effective one is defined by the separate - # `event_stream` field. - # - # - `CONDITIONAL_BLOCK`: AUTHORIZATION event stream. - # - `VELOCITY_LIMIT`: AUTHORIZATION event stream. - # - `MERCHANT_LOCK`: AUTHORIZATION event stream. - # - `CONDITIONAL_ACTION`: AUTHORIZATION, THREE_DS_AUTHENTICATION, TOKENIZATION, - # ACH_CREDIT_RECEIPT, or ACH_DEBIT_RECEIPT event stream. - sig do - returns( - Lithic::Models::AuthRules::V2PromoteResponse::Type::TaggedSymbol - ) - end - attr_accessor :type - - # Card tokens to which the Auth Rule does not apply. - sig { returns(T.nilable(T::Array[String])) } - attr_reader :excluded_card_tokens - - sig { params(excluded_card_tokens: T::Array[String]).void } - attr_writer :excluded_card_tokens - - sig do - params( - token: String, - account_tokens: T::Array[String], - business_account_tokens: T::Array[String], - card_tokens: T::Array[String], - current_version: - T.nilable( - Lithic::Models::AuthRules::V2PromoteResponse::CurrentVersion::OrHash - ), - draft_version: - T.nilable( - Lithic::Models::AuthRules::V2PromoteResponse::DraftVersion::OrHash - ), - event_stream: - Lithic::Models::AuthRules::V2PromoteResponse::EventStream::OrSymbol, - lithic_managed: T::Boolean, - name: T.nilable(String), - program_level: T::Boolean, - state: - Lithic::Models::AuthRules::V2PromoteResponse::State::OrSymbol, - type: Lithic::Models::AuthRules::V2PromoteResponse::Type::OrSymbol, - excluded_card_tokens: T::Array[String] - ).returns(T.attached_class) - end - def self.new( - # Auth Rule Token - token:, - # Account tokens to which the Auth Rule applies. - account_tokens:, - # Business Account tokens to which the Auth Rule applies. - business_account_tokens:, - # Card tokens to which the Auth Rule applies. - card_tokens:, - current_version:, - draft_version:, - # The event stream during which the rule will be evaluated. - event_stream:, - # Indicates whether this auth rule is managed by Lithic. If true, the rule cannot - # be modified or deleted by the user - lithic_managed:, - # Auth Rule Name - name:, - # Whether the Auth Rule applies to all authorizations on the card program. - program_level:, - # The state of the Auth Rule - state:, - # The type of Auth Rule. For certain rule types, this determines the event stream - # during which it will be evaluated. For rules that can be applied to one of - # several event streams, the effective one is defined by the separate - # `event_stream` field. - # - # - `CONDITIONAL_BLOCK`: AUTHORIZATION event stream. - # - `VELOCITY_LIMIT`: AUTHORIZATION event stream. - # - `MERCHANT_LOCK`: AUTHORIZATION event stream. - # - `CONDITIONAL_ACTION`: AUTHORIZATION, THREE_DS_AUTHENTICATION, TOKENIZATION, - # ACH_CREDIT_RECEIPT, or ACH_DEBIT_RECEIPT event stream. - type:, - # Card tokens to which the Auth Rule does not apply. - excluded_card_tokens: nil - ) - end - - sig do - override.returns( - { - token: String, - account_tokens: T::Array[String], - business_account_tokens: T::Array[String], - card_tokens: T::Array[String], - current_version: - T.nilable( - Lithic::Models::AuthRules::V2PromoteResponse::CurrentVersion - ), - draft_version: - T.nilable( - Lithic::Models::AuthRules::V2PromoteResponse::DraftVersion - ), - event_stream: - Lithic::Models::AuthRules::V2PromoteResponse::EventStream::TaggedSymbol, - lithic_managed: T::Boolean, - name: T.nilable(String), - program_level: T::Boolean, - state: - Lithic::Models::AuthRules::V2PromoteResponse::State::TaggedSymbol, - type: - Lithic::Models::AuthRules::V2PromoteResponse::Type::TaggedSymbol, - excluded_card_tokens: T::Array[String] - } - ) - end - def to_hash - end - - class CurrentVersion < Lithic::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Lithic::Models::AuthRules::V2PromoteResponse::CurrentVersion, - Lithic::Internal::AnyHash - ) - end - - # Parameters for the Auth Rule - sig do - returns( - Lithic::Models::AuthRules::V2PromoteResponse::CurrentVersion::Parameters::Variants - ) - end - attr_accessor :parameters - - # The version of the rule, this is incremented whenever the rule's parameters - # change. - sig { returns(Integer) } - attr_accessor :version - - sig do - params( - parameters: - T.any( - Lithic::AuthRules::ConditionalBlockParameters::OrHash, - Lithic::AuthRules::VelocityLimitParams::OrHash, - Lithic::AuthRules::MerchantLockParameters::OrHash, - Lithic::AuthRules::Conditional3DSActionParameters::OrHash, - Lithic::AuthRules::ConditionalAuthorizationActionParameters::OrHash, - Lithic::AuthRules::ConditionalACHActionParameters::OrHash, - Lithic::AuthRules::ConditionalTokenizationActionParameters::OrHash - ), - version: Integer - ).returns(T.attached_class) - end - def self.new( - # Parameters for the Auth Rule - parameters:, - # The version of the rule, this is incremented whenever the rule's parameters - # change. - version: - ) - end - - sig do - override.returns( - { - parameters: - Lithic::Models::AuthRules::V2PromoteResponse::CurrentVersion::Parameters::Variants, - version: Integer - } - ) - end - def to_hash - end - - # Parameters for the Auth Rule - module Parameters - extend Lithic::Internal::Type::Union - - Variants = - T.type_alias do - T.any( - Lithic::AuthRules::ConditionalBlockParameters, - Lithic::AuthRules::VelocityLimitParams, - Lithic::AuthRules::MerchantLockParameters, - Lithic::AuthRules::Conditional3DSActionParameters, - Lithic::AuthRules::ConditionalAuthorizationActionParameters, - Lithic::AuthRules::ConditionalACHActionParameters, - Lithic::AuthRules::ConditionalTokenizationActionParameters - ) - end - - sig do - override.returns( - T::Array[ - Lithic::Models::AuthRules::V2PromoteResponse::CurrentVersion::Parameters::Variants - ] - ) - end - def self.variants - end - end - end - - class DraftVersion < Lithic::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Lithic::Models::AuthRules::V2PromoteResponse::DraftVersion, - Lithic::Internal::AnyHash - ) - end - - # Parameters for the Auth Rule - sig do - returns( - Lithic::Models::AuthRules::V2PromoteResponse::DraftVersion::Parameters::Variants - ) - end - attr_accessor :parameters - - # The version of the rule, this is incremented whenever the rule's parameters - # change. - sig { returns(Integer) } - attr_accessor :version - - sig do - params( - parameters: - T.any( - Lithic::AuthRules::ConditionalBlockParameters::OrHash, - Lithic::AuthRules::VelocityLimitParams::OrHash, - Lithic::AuthRules::MerchantLockParameters::OrHash, - Lithic::AuthRules::Conditional3DSActionParameters::OrHash, - Lithic::AuthRules::ConditionalAuthorizationActionParameters::OrHash, - Lithic::AuthRules::ConditionalACHActionParameters::OrHash, - Lithic::AuthRules::ConditionalTokenizationActionParameters::OrHash - ), - version: Integer - ).returns(T.attached_class) - end - def self.new( - # Parameters for the Auth Rule - parameters:, - # The version of the rule, this is incremented whenever the rule's parameters - # change. - version: - ) - end - - sig do - override.returns( - { - parameters: - Lithic::Models::AuthRules::V2PromoteResponse::DraftVersion::Parameters::Variants, - version: Integer - } - ) - end - def to_hash - end - - # Parameters for the Auth Rule - module Parameters - extend Lithic::Internal::Type::Union - - Variants = - T.type_alias do - T.any( - Lithic::AuthRules::ConditionalBlockParameters, - Lithic::AuthRules::VelocityLimitParams, - Lithic::AuthRules::MerchantLockParameters, - Lithic::AuthRules::Conditional3DSActionParameters, - Lithic::AuthRules::ConditionalAuthorizationActionParameters, - Lithic::AuthRules::ConditionalACHActionParameters, - Lithic::AuthRules::ConditionalTokenizationActionParameters - ) - end - - sig do - override.returns( - T::Array[ - Lithic::Models::AuthRules::V2PromoteResponse::DraftVersion::Parameters::Variants - ] - ) - end - def self.variants - end - end - end - - # The event stream during which the rule will be evaluated. - module EventStream - extend Lithic::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Lithic::Models::AuthRules::V2PromoteResponse::EventStream - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - AUTHORIZATION = - T.let( - :AUTHORIZATION, - Lithic::Models::AuthRules::V2PromoteResponse::EventStream::TaggedSymbol - ) - THREE_DS_AUTHENTICATION = - T.let( - :THREE_DS_AUTHENTICATION, - Lithic::Models::AuthRules::V2PromoteResponse::EventStream::TaggedSymbol - ) - TOKENIZATION = - T.let( - :TOKENIZATION, - Lithic::Models::AuthRules::V2PromoteResponse::EventStream::TaggedSymbol - ) - ACH_CREDIT_RECEIPT = - T.let( - :ACH_CREDIT_RECEIPT, - Lithic::Models::AuthRules::V2PromoteResponse::EventStream::TaggedSymbol - ) - ACH_DEBIT_RECEIPT = - T.let( - :ACH_DEBIT_RECEIPT, - Lithic::Models::AuthRules::V2PromoteResponse::EventStream::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Lithic::Models::AuthRules::V2PromoteResponse::EventStream::TaggedSymbol - ] - ) - end - def self.values - end - end - - # The state of the Auth Rule - module State - extend Lithic::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all(Symbol, Lithic::Models::AuthRules::V2PromoteResponse::State) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - ACTIVE = - T.let( - :ACTIVE, - Lithic::Models::AuthRules::V2PromoteResponse::State::TaggedSymbol - ) - INACTIVE = - T.let( - :INACTIVE, - Lithic::Models::AuthRules::V2PromoteResponse::State::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Lithic::Models::AuthRules::V2PromoteResponse::State::TaggedSymbol - ] - ) - end - def self.values - end - end - - # The type of Auth Rule. For certain rule types, this determines the event stream - # during which it will be evaluated. For rules that can be applied to one of - # several event streams, the effective one is defined by the separate - # `event_stream` field. - # - # - `CONDITIONAL_BLOCK`: AUTHORIZATION event stream. - # - `VELOCITY_LIMIT`: AUTHORIZATION event stream. - # - `MERCHANT_LOCK`: AUTHORIZATION event stream. - # - `CONDITIONAL_ACTION`: AUTHORIZATION, THREE_DS_AUTHENTICATION, TOKENIZATION, - # ACH_CREDIT_RECEIPT, or ACH_DEBIT_RECEIPT event stream. - module Type - extend Lithic::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all(Symbol, Lithic::Models::AuthRules::V2PromoteResponse::Type) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - CONDITIONAL_BLOCK = - T.let( - :CONDITIONAL_BLOCK, - Lithic::Models::AuthRules::V2PromoteResponse::Type::TaggedSymbol - ) - VELOCITY_LIMIT = - T.let( - :VELOCITY_LIMIT, - Lithic::Models::AuthRules::V2PromoteResponse::Type::TaggedSymbol - ) - MERCHANT_LOCK = - T.let( - :MERCHANT_LOCK, - Lithic::Models::AuthRules::V2PromoteResponse::Type::TaggedSymbol - ) - CONDITIONAL_ACTION = - T.let( - :CONDITIONAL_ACTION, - Lithic::Models::AuthRules::V2PromoteResponse::Type::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Lithic::Models::AuthRules::V2PromoteResponse::Type::TaggedSymbol - ] - ) - end - def self.values - end - end - end - end - end -end diff --git a/rbi/lithic/models/auth_rules/v2_retrieve_response.rbi b/rbi/lithic/models/auth_rules/v2_retrieve_response.rbi deleted file mode 100644 index efefdafa..00000000 --- a/rbi/lithic/models/auth_rules/v2_retrieve_response.rbi +++ /dev/null @@ -1,528 +0,0 @@ -# typed: strong - -module Lithic - module Models - module AuthRules - class V2RetrieveResponse < Lithic::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Lithic::Models::AuthRules::V2RetrieveResponse, - Lithic::Internal::AnyHash - ) - end - - # Auth Rule Token - sig { returns(String) } - attr_accessor :token - - # Account tokens to which the Auth Rule applies. - sig { returns(T::Array[String]) } - attr_accessor :account_tokens - - # Business Account tokens to which the Auth Rule applies. - sig { returns(T::Array[String]) } - attr_accessor :business_account_tokens - - # Card tokens to which the Auth Rule applies. - sig { returns(T::Array[String]) } - attr_accessor :card_tokens - - sig do - returns( - T.nilable( - Lithic::Models::AuthRules::V2RetrieveResponse::CurrentVersion - ) - ) - end - attr_reader :current_version - - sig do - params( - current_version: - T.nilable( - Lithic::Models::AuthRules::V2RetrieveResponse::CurrentVersion::OrHash - ) - ).void - end - attr_writer :current_version - - sig do - returns( - T.nilable( - Lithic::Models::AuthRules::V2RetrieveResponse::DraftVersion - ) - ) - end - attr_reader :draft_version - - sig do - params( - draft_version: - T.nilable( - Lithic::Models::AuthRules::V2RetrieveResponse::DraftVersion::OrHash - ) - ).void - end - attr_writer :draft_version - - # The event stream during which the rule will be evaluated. - sig do - returns( - Lithic::Models::AuthRules::V2RetrieveResponse::EventStream::TaggedSymbol - ) - end - attr_accessor :event_stream - - # Indicates whether this auth rule is managed by Lithic. If true, the rule cannot - # be modified or deleted by the user - sig { returns(T::Boolean) } - attr_accessor :lithic_managed - - # Auth Rule Name - sig { returns(T.nilable(String)) } - attr_accessor :name - - # Whether the Auth Rule applies to all authorizations on the card program. - sig { returns(T::Boolean) } - attr_accessor :program_level - - # The state of the Auth Rule - sig do - returns( - Lithic::Models::AuthRules::V2RetrieveResponse::State::TaggedSymbol - ) - end - attr_accessor :state - - # The type of Auth Rule. For certain rule types, this determines the event stream - # during which it will be evaluated. For rules that can be applied to one of - # several event streams, the effective one is defined by the separate - # `event_stream` field. - # - # - `CONDITIONAL_BLOCK`: AUTHORIZATION event stream. - # - `VELOCITY_LIMIT`: AUTHORIZATION event stream. - # - `MERCHANT_LOCK`: AUTHORIZATION event stream. - # - `CONDITIONAL_ACTION`: AUTHORIZATION, THREE_DS_AUTHENTICATION, TOKENIZATION, - # ACH_CREDIT_RECEIPT, or ACH_DEBIT_RECEIPT event stream. - sig do - returns( - Lithic::Models::AuthRules::V2RetrieveResponse::Type::TaggedSymbol - ) - end - attr_accessor :type - - # Card tokens to which the Auth Rule does not apply. - sig { returns(T.nilable(T::Array[String])) } - attr_reader :excluded_card_tokens - - sig { params(excluded_card_tokens: T::Array[String]).void } - attr_writer :excluded_card_tokens - - sig do - params( - token: String, - account_tokens: T::Array[String], - business_account_tokens: T::Array[String], - card_tokens: T::Array[String], - current_version: - T.nilable( - Lithic::Models::AuthRules::V2RetrieveResponse::CurrentVersion::OrHash - ), - draft_version: - T.nilable( - Lithic::Models::AuthRules::V2RetrieveResponse::DraftVersion::OrHash - ), - event_stream: - Lithic::Models::AuthRules::V2RetrieveResponse::EventStream::OrSymbol, - lithic_managed: T::Boolean, - name: T.nilable(String), - program_level: T::Boolean, - state: - Lithic::Models::AuthRules::V2RetrieveResponse::State::OrSymbol, - type: Lithic::Models::AuthRules::V2RetrieveResponse::Type::OrSymbol, - excluded_card_tokens: T::Array[String] - ).returns(T.attached_class) - end - def self.new( - # Auth Rule Token - token:, - # Account tokens to which the Auth Rule applies. - account_tokens:, - # Business Account tokens to which the Auth Rule applies. - business_account_tokens:, - # Card tokens to which the Auth Rule applies. - card_tokens:, - current_version:, - draft_version:, - # The event stream during which the rule will be evaluated. - event_stream:, - # Indicates whether this auth rule is managed by Lithic. If true, the rule cannot - # be modified or deleted by the user - lithic_managed:, - # Auth Rule Name - name:, - # Whether the Auth Rule applies to all authorizations on the card program. - program_level:, - # The state of the Auth Rule - state:, - # The type of Auth Rule. For certain rule types, this determines the event stream - # during which it will be evaluated. For rules that can be applied to one of - # several event streams, the effective one is defined by the separate - # `event_stream` field. - # - # - `CONDITIONAL_BLOCK`: AUTHORIZATION event stream. - # - `VELOCITY_LIMIT`: AUTHORIZATION event stream. - # - `MERCHANT_LOCK`: AUTHORIZATION event stream. - # - `CONDITIONAL_ACTION`: AUTHORIZATION, THREE_DS_AUTHENTICATION, TOKENIZATION, - # ACH_CREDIT_RECEIPT, or ACH_DEBIT_RECEIPT event stream. - type:, - # Card tokens to which the Auth Rule does not apply. - excluded_card_tokens: nil - ) - end - - sig do - override.returns( - { - token: String, - account_tokens: T::Array[String], - business_account_tokens: T::Array[String], - card_tokens: T::Array[String], - current_version: - T.nilable( - Lithic::Models::AuthRules::V2RetrieveResponse::CurrentVersion - ), - draft_version: - T.nilable( - Lithic::Models::AuthRules::V2RetrieveResponse::DraftVersion - ), - event_stream: - Lithic::Models::AuthRules::V2RetrieveResponse::EventStream::TaggedSymbol, - lithic_managed: T::Boolean, - name: T.nilable(String), - program_level: T::Boolean, - state: - Lithic::Models::AuthRules::V2RetrieveResponse::State::TaggedSymbol, - type: - Lithic::Models::AuthRules::V2RetrieveResponse::Type::TaggedSymbol, - excluded_card_tokens: T::Array[String] - } - ) - end - def to_hash - end - - class CurrentVersion < Lithic::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Lithic::Models::AuthRules::V2RetrieveResponse::CurrentVersion, - Lithic::Internal::AnyHash - ) - end - - # Parameters for the Auth Rule - sig do - returns( - Lithic::Models::AuthRules::V2RetrieveResponse::CurrentVersion::Parameters::Variants - ) - end - attr_accessor :parameters - - # The version of the rule, this is incremented whenever the rule's parameters - # change. - sig { returns(Integer) } - attr_accessor :version - - sig do - params( - parameters: - T.any( - Lithic::AuthRules::ConditionalBlockParameters::OrHash, - Lithic::AuthRules::VelocityLimitParams::OrHash, - Lithic::AuthRules::MerchantLockParameters::OrHash, - Lithic::AuthRules::Conditional3DSActionParameters::OrHash, - Lithic::AuthRules::ConditionalAuthorizationActionParameters::OrHash, - Lithic::AuthRules::ConditionalACHActionParameters::OrHash, - Lithic::AuthRules::ConditionalTokenizationActionParameters::OrHash - ), - version: Integer - ).returns(T.attached_class) - end - def self.new( - # Parameters for the Auth Rule - parameters:, - # The version of the rule, this is incremented whenever the rule's parameters - # change. - version: - ) - end - - sig do - override.returns( - { - parameters: - Lithic::Models::AuthRules::V2RetrieveResponse::CurrentVersion::Parameters::Variants, - version: Integer - } - ) - end - def to_hash - end - - # Parameters for the Auth Rule - module Parameters - extend Lithic::Internal::Type::Union - - Variants = - T.type_alias do - T.any( - Lithic::AuthRules::ConditionalBlockParameters, - Lithic::AuthRules::VelocityLimitParams, - Lithic::AuthRules::MerchantLockParameters, - Lithic::AuthRules::Conditional3DSActionParameters, - Lithic::AuthRules::ConditionalAuthorizationActionParameters, - Lithic::AuthRules::ConditionalACHActionParameters, - Lithic::AuthRules::ConditionalTokenizationActionParameters - ) - end - - sig do - override.returns( - T::Array[ - Lithic::Models::AuthRules::V2RetrieveResponse::CurrentVersion::Parameters::Variants - ] - ) - end - def self.variants - end - end - end - - class DraftVersion < Lithic::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Lithic::Models::AuthRules::V2RetrieveResponse::DraftVersion, - Lithic::Internal::AnyHash - ) - end - - # Parameters for the Auth Rule - sig do - returns( - Lithic::Models::AuthRules::V2RetrieveResponse::DraftVersion::Parameters::Variants - ) - end - attr_accessor :parameters - - # The version of the rule, this is incremented whenever the rule's parameters - # change. - sig { returns(Integer) } - attr_accessor :version - - sig do - params( - parameters: - T.any( - Lithic::AuthRules::ConditionalBlockParameters::OrHash, - Lithic::AuthRules::VelocityLimitParams::OrHash, - Lithic::AuthRules::MerchantLockParameters::OrHash, - Lithic::AuthRules::Conditional3DSActionParameters::OrHash, - Lithic::AuthRules::ConditionalAuthorizationActionParameters::OrHash, - Lithic::AuthRules::ConditionalACHActionParameters::OrHash, - Lithic::AuthRules::ConditionalTokenizationActionParameters::OrHash - ), - version: Integer - ).returns(T.attached_class) - end - def self.new( - # Parameters for the Auth Rule - parameters:, - # The version of the rule, this is incremented whenever the rule's parameters - # change. - version: - ) - end - - sig do - override.returns( - { - parameters: - Lithic::Models::AuthRules::V2RetrieveResponse::DraftVersion::Parameters::Variants, - version: Integer - } - ) - end - def to_hash - end - - # Parameters for the Auth Rule - module Parameters - extend Lithic::Internal::Type::Union - - Variants = - T.type_alias do - T.any( - Lithic::AuthRules::ConditionalBlockParameters, - Lithic::AuthRules::VelocityLimitParams, - Lithic::AuthRules::MerchantLockParameters, - Lithic::AuthRules::Conditional3DSActionParameters, - Lithic::AuthRules::ConditionalAuthorizationActionParameters, - Lithic::AuthRules::ConditionalACHActionParameters, - Lithic::AuthRules::ConditionalTokenizationActionParameters - ) - end - - sig do - override.returns( - T::Array[ - Lithic::Models::AuthRules::V2RetrieveResponse::DraftVersion::Parameters::Variants - ] - ) - end - def self.variants - end - end - end - - # The event stream during which the rule will be evaluated. - module EventStream - extend Lithic::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Lithic::Models::AuthRules::V2RetrieveResponse::EventStream - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - AUTHORIZATION = - T.let( - :AUTHORIZATION, - Lithic::Models::AuthRules::V2RetrieveResponse::EventStream::TaggedSymbol - ) - THREE_DS_AUTHENTICATION = - T.let( - :THREE_DS_AUTHENTICATION, - Lithic::Models::AuthRules::V2RetrieveResponse::EventStream::TaggedSymbol - ) - TOKENIZATION = - T.let( - :TOKENIZATION, - Lithic::Models::AuthRules::V2RetrieveResponse::EventStream::TaggedSymbol - ) - ACH_CREDIT_RECEIPT = - T.let( - :ACH_CREDIT_RECEIPT, - Lithic::Models::AuthRules::V2RetrieveResponse::EventStream::TaggedSymbol - ) - ACH_DEBIT_RECEIPT = - T.let( - :ACH_DEBIT_RECEIPT, - Lithic::Models::AuthRules::V2RetrieveResponse::EventStream::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Lithic::Models::AuthRules::V2RetrieveResponse::EventStream::TaggedSymbol - ] - ) - end - def self.values - end - end - - # The state of the Auth Rule - module State - extend Lithic::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Lithic::Models::AuthRules::V2RetrieveResponse::State - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - ACTIVE = - T.let( - :ACTIVE, - Lithic::Models::AuthRules::V2RetrieveResponse::State::TaggedSymbol - ) - INACTIVE = - T.let( - :INACTIVE, - Lithic::Models::AuthRules::V2RetrieveResponse::State::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Lithic::Models::AuthRules::V2RetrieveResponse::State::TaggedSymbol - ] - ) - end - def self.values - end - end - - # The type of Auth Rule. For certain rule types, this determines the event stream - # during which it will be evaluated. For rules that can be applied to one of - # several event streams, the effective one is defined by the separate - # `event_stream` field. - # - # - `CONDITIONAL_BLOCK`: AUTHORIZATION event stream. - # - `VELOCITY_LIMIT`: AUTHORIZATION event stream. - # - `MERCHANT_LOCK`: AUTHORIZATION event stream. - # - `CONDITIONAL_ACTION`: AUTHORIZATION, THREE_DS_AUTHENTICATION, TOKENIZATION, - # ACH_CREDIT_RECEIPT, or ACH_DEBIT_RECEIPT event stream. - module Type - extend Lithic::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all(Symbol, Lithic::Models::AuthRules::V2RetrieveResponse::Type) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - CONDITIONAL_BLOCK = - T.let( - :CONDITIONAL_BLOCK, - Lithic::Models::AuthRules::V2RetrieveResponse::Type::TaggedSymbol - ) - VELOCITY_LIMIT = - T.let( - :VELOCITY_LIMIT, - Lithic::Models::AuthRules::V2RetrieveResponse::Type::TaggedSymbol - ) - MERCHANT_LOCK = - T.let( - :MERCHANT_LOCK, - Lithic::Models::AuthRules::V2RetrieveResponse::Type::TaggedSymbol - ) - CONDITIONAL_ACTION = - T.let( - :CONDITIONAL_ACTION, - Lithic::Models::AuthRules::V2RetrieveResponse::Type::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Lithic::Models::AuthRules::V2RetrieveResponse::Type::TaggedSymbol - ] - ) - end - def self.values - end - end - end - end - end -end diff --git a/rbi/lithic/models/auth_rules/v2_update_response.rbi b/rbi/lithic/models/auth_rules/v2_update_response.rbi deleted file mode 100644 index 355cac98..00000000 --- a/rbi/lithic/models/auth_rules/v2_update_response.rbi +++ /dev/null @@ -1,522 +0,0 @@ -# typed: strong - -module Lithic - module Models - module AuthRules - class V2UpdateResponse < Lithic::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Lithic::Models::AuthRules::V2UpdateResponse, - Lithic::Internal::AnyHash - ) - end - - # Auth Rule Token - sig { returns(String) } - attr_accessor :token - - # Account tokens to which the Auth Rule applies. - sig { returns(T::Array[String]) } - attr_accessor :account_tokens - - # Business Account tokens to which the Auth Rule applies. - sig { returns(T::Array[String]) } - attr_accessor :business_account_tokens - - # Card tokens to which the Auth Rule applies. - sig { returns(T::Array[String]) } - attr_accessor :card_tokens - - sig do - returns( - T.nilable( - Lithic::Models::AuthRules::V2UpdateResponse::CurrentVersion - ) - ) - end - attr_reader :current_version - - sig do - params( - current_version: - T.nilable( - Lithic::Models::AuthRules::V2UpdateResponse::CurrentVersion::OrHash - ) - ).void - end - attr_writer :current_version - - sig do - returns( - T.nilable(Lithic::Models::AuthRules::V2UpdateResponse::DraftVersion) - ) - end - attr_reader :draft_version - - sig do - params( - draft_version: - T.nilable( - Lithic::Models::AuthRules::V2UpdateResponse::DraftVersion::OrHash - ) - ).void - end - attr_writer :draft_version - - # The event stream during which the rule will be evaluated. - sig do - returns( - Lithic::Models::AuthRules::V2UpdateResponse::EventStream::TaggedSymbol - ) - end - attr_accessor :event_stream - - # Indicates whether this auth rule is managed by Lithic. If true, the rule cannot - # be modified or deleted by the user - sig { returns(T::Boolean) } - attr_accessor :lithic_managed - - # Auth Rule Name - sig { returns(T.nilable(String)) } - attr_accessor :name - - # Whether the Auth Rule applies to all authorizations on the card program. - sig { returns(T::Boolean) } - attr_accessor :program_level - - # The state of the Auth Rule - sig do - returns( - Lithic::Models::AuthRules::V2UpdateResponse::State::TaggedSymbol - ) - end - attr_accessor :state - - # The type of Auth Rule. For certain rule types, this determines the event stream - # during which it will be evaluated. For rules that can be applied to one of - # several event streams, the effective one is defined by the separate - # `event_stream` field. - # - # - `CONDITIONAL_BLOCK`: AUTHORIZATION event stream. - # - `VELOCITY_LIMIT`: AUTHORIZATION event stream. - # - `MERCHANT_LOCK`: AUTHORIZATION event stream. - # - `CONDITIONAL_ACTION`: AUTHORIZATION, THREE_DS_AUTHENTICATION, TOKENIZATION, - # ACH_CREDIT_RECEIPT, or ACH_DEBIT_RECEIPT event stream. - sig do - returns( - Lithic::Models::AuthRules::V2UpdateResponse::Type::TaggedSymbol - ) - end - attr_accessor :type - - # Card tokens to which the Auth Rule does not apply. - sig { returns(T.nilable(T::Array[String])) } - attr_reader :excluded_card_tokens - - sig { params(excluded_card_tokens: T::Array[String]).void } - attr_writer :excluded_card_tokens - - sig do - params( - token: String, - account_tokens: T::Array[String], - business_account_tokens: T::Array[String], - card_tokens: T::Array[String], - current_version: - T.nilable( - Lithic::Models::AuthRules::V2UpdateResponse::CurrentVersion::OrHash - ), - draft_version: - T.nilable( - Lithic::Models::AuthRules::V2UpdateResponse::DraftVersion::OrHash - ), - event_stream: - Lithic::Models::AuthRules::V2UpdateResponse::EventStream::OrSymbol, - lithic_managed: T::Boolean, - name: T.nilable(String), - program_level: T::Boolean, - state: Lithic::Models::AuthRules::V2UpdateResponse::State::OrSymbol, - type: Lithic::Models::AuthRules::V2UpdateResponse::Type::OrSymbol, - excluded_card_tokens: T::Array[String] - ).returns(T.attached_class) - end - def self.new( - # Auth Rule Token - token:, - # Account tokens to which the Auth Rule applies. - account_tokens:, - # Business Account tokens to which the Auth Rule applies. - business_account_tokens:, - # Card tokens to which the Auth Rule applies. - card_tokens:, - current_version:, - draft_version:, - # The event stream during which the rule will be evaluated. - event_stream:, - # Indicates whether this auth rule is managed by Lithic. If true, the rule cannot - # be modified or deleted by the user - lithic_managed:, - # Auth Rule Name - name:, - # Whether the Auth Rule applies to all authorizations on the card program. - program_level:, - # The state of the Auth Rule - state:, - # The type of Auth Rule. For certain rule types, this determines the event stream - # during which it will be evaluated. For rules that can be applied to one of - # several event streams, the effective one is defined by the separate - # `event_stream` field. - # - # - `CONDITIONAL_BLOCK`: AUTHORIZATION event stream. - # - `VELOCITY_LIMIT`: AUTHORIZATION event stream. - # - `MERCHANT_LOCK`: AUTHORIZATION event stream. - # - `CONDITIONAL_ACTION`: AUTHORIZATION, THREE_DS_AUTHENTICATION, TOKENIZATION, - # ACH_CREDIT_RECEIPT, or ACH_DEBIT_RECEIPT event stream. - type:, - # Card tokens to which the Auth Rule does not apply. - excluded_card_tokens: nil - ) - end - - sig do - override.returns( - { - token: String, - account_tokens: T::Array[String], - business_account_tokens: T::Array[String], - card_tokens: T::Array[String], - current_version: - T.nilable( - Lithic::Models::AuthRules::V2UpdateResponse::CurrentVersion - ), - draft_version: - T.nilable( - Lithic::Models::AuthRules::V2UpdateResponse::DraftVersion - ), - event_stream: - Lithic::Models::AuthRules::V2UpdateResponse::EventStream::TaggedSymbol, - lithic_managed: T::Boolean, - name: T.nilable(String), - program_level: T::Boolean, - state: - Lithic::Models::AuthRules::V2UpdateResponse::State::TaggedSymbol, - type: - Lithic::Models::AuthRules::V2UpdateResponse::Type::TaggedSymbol, - excluded_card_tokens: T::Array[String] - } - ) - end - def to_hash - end - - class CurrentVersion < Lithic::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Lithic::Models::AuthRules::V2UpdateResponse::CurrentVersion, - Lithic::Internal::AnyHash - ) - end - - # Parameters for the Auth Rule - sig do - returns( - Lithic::Models::AuthRules::V2UpdateResponse::CurrentVersion::Parameters::Variants - ) - end - attr_accessor :parameters - - # The version of the rule, this is incremented whenever the rule's parameters - # change. - sig { returns(Integer) } - attr_accessor :version - - sig do - params( - parameters: - T.any( - Lithic::AuthRules::ConditionalBlockParameters::OrHash, - Lithic::AuthRules::VelocityLimitParams::OrHash, - Lithic::AuthRules::MerchantLockParameters::OrHash, - Lithic::AuthRules::Conditional3DSActionParameters::OrHash, - Lithic::AuthRules::ConditionalAuthorizationActionParameters::OrHash, - Lithic::AuthRules::ConditionalACHActionParameters::OrHash, - Lithic::AuthRules::ConditionalTokenizationActionParameters::OrHash - ), - version: Integer - ).returns(T.attached_class) - end - def self.new( - # Parameters for the Auth Rule - parameters:, - # The version of the rule, this is incremented whenever the rule's parameters - # change. - version: - ) - end - - sig do - override.returns( - { - parameters: - Lithic::Models::AuthRules::V2UpdateResponse::CurrentVersion::Parameters::Variants, - version: Integer - } - ) - end - def to_hash - end - - # Parameters for the Auth Rule - module Parameters - extend Lithic::Internal::Type::Union - - Variants = - T.type_alias do - T.any( - Lithic::AuthRules::ConditionalBlockParameters, - Lithic::AuthRules::VelocityLimitParams, - Lithic::AuthRules::MerchantLockParameters, - Lithic::AuthRules::Conditional3DSActionParameters, - Lithic::AuthRules::ConditionalAuthorizationActionParameters, - Lithic::AuthRules::ConditionalACHActionParameters, - Lithic::AuthRules::ConditionalTokenizationActionParameters - ) - end - - sig do - override.returns( - T::Array[ - Lithic::Models::AuthRules::V2UpdateResponse::CurrentVersion::Parameters::Variants - ] - ) - end - def self.variants - end - end - end - - class DraftVersion < Lithic::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Lithic::Models::AuthRules::V2UpdateResponse::DraftVersion, - Lithic::Internal::AnyHash - ) - end - - # Parameters for the Auth Rule - sig do - returns( - Lithic::Models::AuthRules::V2UpdateResponse::DraftVersion::Parameters::Variants - ) - end - attr_accessor :parameters - - # The version of the rule, this is incremented whenever the rule's parameters - # change. - sig { returns(Integer) } - attr_accessor :version - - sig do - params( - parameters: - T.any( - Lithic::AuthRules::ConditionalBlockParameters::OrHash, - Lithic::AuthRules::VelocityLimitParams::OrHash, - Lithic::AuthRules::MerchantLockParameters::OrHash, - Lithic::AuthRules::Conditional3DSActionParameters::OrHash, - Lithic::AuthRules::ConditionalAuthorizationActionParameters::OrHash, - Lithic::AuthRules::ConditionalACHActionParameters::OrHash, - Lithic::AuthRules::ConditionalTokenizationActionParameters::OrHash - ), - version: Integer - ).returns(T.attached_class) - end - def self.new( - # Parameters for the Auth Rule - parameters:, - # The version of the rule, this is incremented whenever the rule's parameters - # change. - version: - ) - end - - sig do - override.returns( - { - parameters: - Lithic::Models::AuthRules::V2UpdateResponse::DraftVersion::Parameters::Variants, - version: Integer - } - ) - end - def to_hash - end - - # Parameters for the Auth Rule - module Parameters - extend Lithic::Internal::Type::Union - - Variants = - T.type_alias do - T.any( - Lithic::AuthRules::ConditionalBlockParameters, - Lithic::AuthRules::VelocityLimitParams, - Lithic::AuthRules::MerchantLockParameters, - Lithic::AuthRules::Conditional3DSActionParameters, - Lithic::AuthRules::ConditionalAuthorizationActionParameters, - Lithic::AuthRules::ConditionalACHActionParameters, - Lithic::AuthRules::ConditionalTokenizationActionParameters - ) - end - - sig do - override.returns( - T::Array[ - Lithic::Models::AuthRules::V2UpdateResponse::DraftVersion::Parameters::Variants - ] - ) - end - def self.variants - end - end - end - - # The event stream during which the rule will be evaluated. - module EventStream - extend Lithic::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Lithic::Models::AuthRules::V2UpdateResponse::EventStream - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - AUTHORIZATION = - T.let( - :AUTHORIZATION, - Lithic::Models::AuthRules::V2UpdateResponse::EventStream::TaggedSymbol - ) - THREE_DS_AUTHENTICATION = - T.let( - :THREE_DS_AUTHENTICATION, - Lithic::Models::AuthRules::V2UpdateResponse::EventStream::TaggedSymbol - ) - TOKENIZATION = - T.let( - :TOKENIZATION, - Lithic::Models::AuthRules::V2UpdateResponse::EventStream::TaggedSymbol - ) - ACH_CREDIT_RECEIPT = - T.let( - :ACH_CREDIT_RECEIPT, - Lithic::Models::AuthRules::V2UpdateResponse::EventStream::TaggedSymbol - ) - ACH_DEBIT_RECEIPT = - T.let( - :ACH_DEBIT_RECEIPT, - Lithic::Models::AuthRules::V2UpdateResponse::EventStream::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Lithic::Models::AuthRules::V2UpdateResponse::EventStream::TaggedSymbol - ] - ) - end - def self.values - end - end - - # The state of the Auth Rule - module State - extend Lithic::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all(Symbol, Lithic::Models::AuthRules::V2UpdateResponse::State) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - ACTIVE = - T.let( - :ACTIVE, - Lithic::Models::AuthRules::V2UpdateResponse::State::TaggedSymbol - ) - INACTIVE = - T.let( - :INACTIVE, - Lithic::Models::AuthRules::V2UpdateResponse::State::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Lithic::Models::AuthRules::V2UpdateResponse::State::TaggedSymbol - ] - ) - end - def self.values - end - end - - # The type of Auth Rule. For certain rule types, this determines the event stream - # during which it will be evaluated. For rules that can be applied to one of - # several event streams, the effective one is defined by the separate - # `event_stream` field. - # - # - `CONDITIONAL_BLOCK`: AUTHORIZATION event stream. - # - `VELOCITY_LIMIT`: AUTHORIZATION event stream. - # - `MERCHANT_LOCK`: AUTHORIZATION event stream. - # - `CONDITIONAL_ACTION`: AUTHORIZATION, THREE_DS_AUTHENTICATION, TOKENIZATION, - # ACH_CREDIT_RECEIPT, or ACH_DEBIT_RECEIPT event stream. - module Type - extend Lithic::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all(Symbol, Lithic::Models::AuthRules::V2UpdateResponse::Type) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - CONDITIONAL_BLOCK = - T.let( - :CONDITIONAL_BLOCK, - Lithic::Models::AuthRules::V2UpdateResponse::Type::TaggedSymbol - ) - VELOCITY_LIMIT = - T.let( - :VELOCITY_LIMIT, - Lithic::Models::AuthRules::V2UpdateResponse::Type::TaggedSymbol - ) - MERCHANT_LOCK = - T.let( - :MERCHANT_LOCK, - Lithic::Models::AuthRules::V2UpdateResponse::Type::TaggedSymbol - ) - CONDITIONAL_ACTION = - T.let( - :CONDITIONAL_ACTION, - Lithic::Models::AuthRules::V2UpdateResponse::Type::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Lithic::Models::AuthRules::V2UpdateResponse::Type::TaggedSymbol - ] - ) - end - def self.values - end - end - end - end - end -end diff --git a/rbi/lithic/models/card_bulk_order.rbi b/rbi/lithic/models/card_bulk_order.rbi new file mode 100644 index 00000000..330e7bbf --- /dev/null +++ b/rbi/lithic/models/card_bulk_order.rbi @@ -0,0 +1,141 @@ +# typed: strong + +module Lithic + module Models + class CardBulkOrder < Lithic::Internal::Type::BaseModel + OrHash = + T.type_alias { T.any(Lithic::CardBulkOrder, Lithic::Internal::AnyHash) } + + # Globally unique identifier for the bulk order + sig { returns(String) } + attr_accessor :token + + # List of card tokens associated with this bulk order + sig { returns(T::Array[String]) } + attr_accessor :card_tokens + + # An RFC 3339 timestamp for when the bulk order was created. UTC time zone + sig { returns(Time) } + attr_accessor :created + + # Customer-specified product configuration for physical card manufacturing. This + # must be configured with Lithic before use + sig { returns(T.nilable(String)) } + attr_accessor :customer_product_id + + # Shipping address for all cards in this bulk order + sig { returns(T.anything) } + attr_accessor :shipping_address + + # Shipping method for all cards in this bulk order + sig { returns(Lithic::CardBulkOrder::ShippingMethod::TaggedSymbol) } + attr_accessor :shipping_method + + # Status of the bulk order. OPEN indicates the order is accepting cards. LOCKED + # indicates the order is finalized and no more cards can be added + sig { returns(Lithic::CardBulkOrder::Status::TaggedSymbol) } + attr_accessor :status + + # An RFC 3339 timestamp for when the bulk order was last updated. UTC time zone + sig { returns(Time) } + attr_accessor :updated + + # Represents a bulk order for physical card shipments + sig do + params( + token: String, + card_tokens: T::Array[String], + created: Time, + customer_product_id: T.nilable(String), + shipping_address: T.anything, + shipping_method: Lithic::CardBulkOrder::ShippingMethod::OrSymbol, + status: Lithic::CardBulkOrder::Status::OrSymbol, + updated: Time + ).returns(T.attached_class) + end + def self.new( + # Globally unique identifier for the bulk order + token:, + # List of card tokens associated with this bulk order + card_tokens:, + # An RFC 3339 timestamp for when the bulk order was created. UTC time zone + created:, + # Customer-specified product configuration for physical card manufacturing. This + # must be configured with Lithic before use + customer_product_id:, + # Shipping address for all cards in this bulk order + shipping_address:, + # Shipping method for all cards in this bulk order + shipping_method:, + # Status of the bulk order. OPEN indicates the order is accepting cards. LOCKED + # indicates the order is finalized and no more cards can be added + status:, + # An RFC 3339 timestamp for when the bulk order was last updated. UTC time zone + updated: + ) + end + + sig do + override.returns( + { + token: String, + card_tokens: T::Array[String], + created: Time, + customer_product_id: T.nilable(String), + shipping_address: T.anything, + shipping_method: + Lithic::CardBulkOrder::ShippingMethod::TaggedSymbol, + status: Lithic::CardBulkOrder::Status::TaggedSymbol, + updated: Time + } + ) + end + def to_hash + end + + # Shipping method for all cards in this bulk order + module ShippingMethod + extend Lithic::Internal::Type::Enum + + TaggedSymbol = + T.type_alias { T.all(Symbol, Lithic::CardBulkOrder::ShippingMethod) } + OrSymbol = T.type_alias { T.any(Symbol, String) } + + BULK_EXPEDITED = + T.let( + :BULK_EXPEDITED, + Lithic::CardBulkOrder::ShippingMethod::TaggedSymbol + ) + + sig do + override.returns( + T::Array[Lithic::CardBulkOrder::ShippingMethod::TaggedSymbol] + ) + end + def self.values + end + end + + # Status of the bulk order. OPEN indicates the order is accepting cards. LOCKED + # indicates the order is finalized and no more cards can be added + module Status + extend Lithic::Internal::Type::Enum + + TaggedSymbol = + T.type_alias { T.all(Symbol, Lithic::CardBulkOrder::Status) } + OrSymbol = T.type_alias { T.any(Symbol, String) } + + OPEN = T.let(:OPEN, Lithic::CardBulkOrder::Status::TaggedSymbol) + LOCKED = T.let(:LOCKED, Lithic::CardBulkOrder::Status::TaggedSymbol) + + sig do + override.returns( + T::Array[Lithic::CardBulkOrder::Status::TaggedSymbol] + ) + end + def self.values + end + end + end + end +end diff --git a/rbi/lithic/models/card_bulk_order_create_params.rbi b/rbi/lithic/models/card_bulk_order_create_params.rbi new file mode 100644 index 00000000..ee302b75 --- /dev/null +++ b/rbi/lithic/models/card_bulk_order_create_params.rbi @@ -0,0 +1,92 @@ +# typed: strong + +module Lithic + module Models + class CardBulkOrderCreateParams < Lithic::Internal::Type::BaseModel + extend Lithic::Internal::Type::RequestParameters::Converter + include Lithic::Internal::Type::RequestParameters + + OrHash = + T.type_alias do + T.any(Lithic::CardBulkOrderCreateParams, Lithic::Internal::AnyHash) + end + + # Customer-specified product configuration for physical card manufacturing. This + # must be configured with Lithic before use + sig { returns(String) } + attr_accessor :customer_product_id + + # Shipping address for all cards in this bulk order + sig { returns(T.anything) } + attr_accessor :shipping_address + + # Shipping method for all cards in this bulk order + sig do + returns(Lithic::CardBulkOrderCreateParams::ShippingMethod::OrSymbol) + end + attr_accessor :shipping_method + + sig do + params( + customer_product_id: String, + shipping_address: T.anything, + shipping_method: + Lithic::CardBulkOrderCreateParams::ShippingMethod::OrSymbol, + request_options: Lithic::RequestOptions::OrHash + ).returns(T.attached_class) + end + def self.new( + # Customer-specified product configuration for physical card manufacturing. This + # must be configured with Lithic before use + customer_product_id:, + # Shipping address for all cards in this bulk order + shipping_address:, + # Shipping method for all cards in this bulk order + shipping_method:, + request_options: {} + ) + end + + sig do + override.returns( + { + customer_product_id: String, + shipping_address: T.anything, + shipping_method: + Lithic::CardBulkOrderCreateParams::ShippingMethod::OrSymbol, + request_options: Lithic::RequestOptions + } + ) + end + def to_hash + end + + # Shipping method for all cards in this bulk order + module ShippingMethod + extend Lithic::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all(Symbol, Lithic::CardBulkOrderCreateParams::ShippingMethod) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + BULK_EXPEDITED = + T.let( + :BULK_EXPEDITED, + Lithic::CardBulkOrderCreateParams::ShippingMethod::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Lithic::CardBulkOrderCreateParams::ShippingMethod::TaggedSymbol + ] + ) + end + def self.values + end + end + end + end +end diff --git a/rbi/lithic/models/card_bulk_order_list_params.rbi b/rbi/lithic/models/card_bulk_order_list_params.rbi new file mode 100644 index 00000000..57abfd25 --- /dev/null +++ b/rbi/lithic/models/card_bulk_order_list_params.rbi @@ -0,0 +1,98 @@ +# typed: strong + +module Lithic + module Models + class CardBulkOrderListParams < Lithic::Internal::Type::BaseModel + extend Lithic::Internal::Type::RequestParameters::Converter + include Lithic::Internal::Type::RequestParameters + + OrHash = + T.type_alias do + T.any(Lithic::CardBulkOrderListParams, Lithic::Internal::AnyHash) + end + + # 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_ + + # 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 + + # Page size (for pagination). + sig { returns(T.nilable(Integer)) } + attr_reader :page_size + + sig { params(page_size: Integer).void } + attr_writer :page_size + + # 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 + + sig do + params( + begin_: Time, + end_: Time, + ending_before: String, + page_size: Integer, + starting_after: String, + request_options: Lithic::RequestOptions::OrHash + ).returns(T.attached_class) + end + def self.new( + # Date string in RFC 3339 format. Only entries created after the specified time + # will be included. UTC time zone. + begin_: 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, + # Page size (for pagination). + page_size: nil, + # A cursor representing an item's token after which a page of results should + # begin. Used to retrieve the next page of results after this item. + starting_after: nil, + request_options: {} + ) + end + + sig do + override.returns( + { + begin_: Time, + end_: Time, + ending_before: String, + page_size: Integer, + starting_after: String, + request_options: Lithic::RequestOptions + } + ) + end + def to_hash + end + end + end +end diff --git a/rbi/lithic/models/card_bulk_order_retrieve_params.rbi b/rbi/lithic/models/card_bulk_order_retrieve_params.rbi new file mode 100644 index 00000000..97a1f558 --- /dev/null +++ b/rbi/lithic/models/card_bulk_order_retrieve_params.rbi @@ -0,0 +1,27 @@ +# typed: strong + +module Lithic + module Models + class CardBulkOrderRetrieveParams < Lithic::Internal::Type::BaseModel + extend Lithic::Internal::Type::RequestParameters::Converter + include Lithic::Internal::Type::RequestParameters + + OrHash = + T.type_alias do + T.any(Lithic::CardBulkOrderRetrieveParams, 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/card_bulk_order_update_params.rbi b/rbi/lithic/models/card_bulk_order_update_params.rbi new file mode 100644 index 00000000..a167c247 --- /dev/null +++ b/rbi/lithic/models/card_bulk_order_update_params.rbi @@ -0,0 +1,68 @@ +# typed: strong + +module Lithic + module Models + class CardBulkOrderUpdateParams < Lithic::Internal::Type::BaseModel + extend Lithic::Internal::Type::RequestParameters::Converter + include Lithic::Internal::Type::RequestParameters + + OrHash = + T.type_alias do + T.any(Lithic::CardBulkOrderUpdateParams, Lithic::Internal::AnyHash) + end + + # Status to update the bulk order to. Use LOCKED to finalize the order + sig { returns(Lithic::CardBulkOrderUpdateParams::Status::OrSymbol) } + attr_accessor :status + + sig do + params( + status: Lithic::CardBulkOrderUpdateParams::Status::OrSymbol, + request_options: Lithic::RequestOptions::OrHash + ).returns(T.attached_class) + end + def self.new( + # Status to update the bulk order to. Use LOCKED to finalize the order + status:, + request_options: {} + ) + end + + sig do + override.returns( + { + status: Lithic::CardBulkOrderUpdateParams::Status::OrSymbol, + request_options: Lithic::RequestOptions + } + ) + end + def to_hash + end + + # Status to update the bulk order to. Use LOCKED to finalize the order + module Status + extend Lithic::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all(Symbol, Lithic::CardBulkOrderUpdateParams::Status) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + LOCKED = + T.let( + :LOCKED, + Lithic::CardBulkOrderUpdateParams::Status::TaggedSymbol + ) + + sig do + override.returns( + T::Array[Lithic::CardBulkOrderUpdateParams::Status::TaggedSymbol] + ) + end + def self.values + end + end + end + end +end diff --git a/rbi/lithic/models/card_convert_physical_params.rbi b/rbi/lithic/models/card_convert_physical_params.rbi index 94775dd1..64306945 100644 --- a/rbi/lithic/models/card_convert_physical_params.rbi +++ b/rbi/lithic/models/card_convert_physical_params.rbi @@ -48,6 +48,7 @@ module Lithic # tracking # - `EXPEDITED` - FedEx or UPS depending on card manufacturer, Standard Overnight # or similar international option, with tracking + # - `BULK_EXPEDITED` - Bulk shipment with Expedited shipping sig do returns( T.nilable(Lithic::CardConvertPhysicalParams::ShippingMethod::OrSymbol) @@ -96,6 +97,7 @@ module Lithic # tracking # - `EXPEDITED` - FedEx or UPS depending on card manufacturer, Standard Overnight # or similar international option, with tracking + # - `BULK_EXPEDITED` - Bulk shipment with Expedited shipping shipping_method: nil, request_options: {} ) @@ -130,6 +132,7 @@ module Lithic # tracking # - `EXPEDITED` - FedEx or UPS depending on card manufacturer, Standard Overnight # or similar international option, with tracking + # - `BULK_EXPEDITED` - Bulk shipment with Expedited shipping module ShippingMethod extend Lithic::Internal::Type::Enum @@ -144,6 +147,11 @@ module Lithic :"2_DAY", Lithic::CardConvertPhysicalParams::ShippingMethod::TaggedSymbol ) + BULK_EXPEDITED = + T.let( + :BULK_EXPEDITED, + Lithic::CardConvertPhysicalParams::ShippingMethod::TaggedSymbol + ) EXPEDITED = T.let( :EXPEDITED, diff --git a/rbi/lithic/models/card_create_params.rbi b/rbi/lithic/models/card_create_params.rbi index 2a0ea7ce..7e6901cc 100644 --- a/rbi/lithic/models/card_create_params.rbi +++ b/rbi/lithic/models/card_create_params.rbi @@ -40,6 +40,15 @@ module Lithic sig { params(account_token: String).void } attr_writer :account_token + # Globally unique identifier for an existing bulk order to associate this card + # with. When specified, the card will be added to the bulk order for batch + # shipment. Only applicable to cards of type PHYSICAL + sig { returns(T.nilable(String)) } + attr_reader :bulk_order_token + + sig { params(bulk_order_token: String).void } + attr_writer :bulk_order_token + # For card programs with more than one BIN range. This must be configured with # Lithic before use. Identifies the card program/BIN range under which to create # the card. If omitted, will utilize the program's default `card_program_token`. @@ -199,6 +208,7 @@ module Lithic # tracking # - `EXPEDITED` - FedEx or UPS depending on card manufacturer, Standard Overnight # or similar international option, with tracking + # - `BULK_EXPEDITED` - Bulk shipment with Expedited shipping sig do returns(T.nilable(Lithic::CardCreateParams::ShippingMethod::OrSymbol)) end @@ -258,6 +268,7 @@ module Lithic params( type: Lithic::CardCreateParams::Type::OrSymbol, account_token: String, + bulk_order_token: String, card_program_token: String, carrier: Lithic::Carrier::OrHash, digital_card_art_token: String, @@ -302,6 +313,10 @@ module Lithic # [/account_holders endpoint](https://docs.lithic.com/docs/account-holders-kyc). # See [Managing Your Program](doc:managing-your-program) for more information. account_token: nil, + # Globally unique identifier for an existing bulk order to associate this card + # with. When specified, the card will be added to the bulk order for batch + # shipment. Only applicable to cards of type PHYSICAL + bulk_order_token: nil, # For card programs with more than one BIN range. This must be configured with # Lithic before use. Identifies the card program/BIN range under which to create # the card. If omitted, will utilize the program's default `card_program_token`. @@ -387,6 +402,7 @@ module Lithic # tracking # - `EXPEDITED` - FedEx or UPS depending on card manufacturer, Standard Overnight # or similar international option, with tracking + # - `BULK_EXPEDITED` - Bulk shipment with Expedited shipping shipping_method: nil, # Amount (in cents) to limit approved authorizations (e.g. 100000 would be a # $1,000 limit). Transaction requests above the spend limit will be declined. Note @@ -423,6 +439,7 @@ module Lithic { type: Lithic::CardCreateParams::Type::OrSymbol, account_token: String, + bulk_order_token: String, card_program_token: String, carrier: Lithic::Carrier, digital_card_art_token: String, @@ -609,6 +626,7 @@ module Lithic # tracking # - `EXPEDITED` - FedEx or UPS depending on card manufacturer, Standard Overnight # or similar international option, with tracking + # - `BULK_EXPEDITED` - Bulk shipment with Expedited shipping module ShippingMethod extend Lithic::Internal::Type::Enum @@ -623,6 +641,11 @@ module Lithic :"2_DAY", Lithic::CardCreateParams::ShippingMethod::TaggedSymbol ) + BULK_EXPEDITED = + T.let( + :BULK_EXPEDITED, + Lithic::CardCreateParams::ShippingMethod::TaggedSymbol + ) EXPEDITED = T.let( :EXPEDITED, diff --git a/rbi/lithic/models/card_program.rbi b/rbi/lithic/models/card_program.rbi index a3e74062..1677631d 100644 --- a/rbi/lithic/models/card_program.rbi +++ b/rbi/lithic/models/card_program.rbi @@ -10,6 +10,11 @@ module Lithic sig { returns(String) } attr_accessor :token + # Whether the card program is participating in Account Level Management. Currently + # applicable to Visa card programs only. + sig { returns(T::Boolean) } + attr_accessor :account_level_management_enabled + # Timestamp of when the card program was created. sig { returns(Time) } attr_accessor :created @@ -26,14 +31,6 @@ module Lithic sig { returns(String) } attr_accessor :pan_range_start - # Whether the card program is participating in Account Level Management. Currently - # applicable to Visa card programs only. - sig { returns(T.nilable(T::Boolean)) } - attr_reader :account_level_management_enabled - - sig { params(account_level_management_enabled: T::Boolean).void } - attr_writer :account_level_management_enabled - # 3-character alphabetic ISO 4217 code for the currency of the cardholder. sig { returns(T.nilable(String)) } attr_reader :cardholder_currency @@ -52,11 +49,11 @@ module Lithic sig do params( token: String, + account_level_management_enabled: T::Boolean, created: Time, name: String, pan_range_end: String, pan_range_start: String, - account_level_management_enabled: T::Boolean, cardholder_currency: String, settlement_currencies: T::Array[String] ).returns(T.attached_class) @@ -64,6 +61,9 @@ module Lithic def self.new( # Globally unique identifier. token:, + # Whether the card program is participating in Account Level Management. Currently + # applicable to Visa card programs only. + account_level_management_enabled:, # Timestamp of when the card program was created. created:, # The name of the card program. @@ -72,9 +72,6 @@ module Lithic pan_range_end:, # The first digits of the card number that this card program starts with. pan_range_start:, - # Whether the card program is participating in Account Level Management. Currently - # applicable to Visa card programs only. - account_level_management_enabled: nil, # 3-character alphabetic ISO 4217 code for the currency of the cardholder. cardholder_currency: nil, # List of 3-character alphabetic ISO 4217 codes for the currencies that the card @@ -87,11 +84,11 @@ module Lithic override.returns( { token: String, + account_level_management_enabled: T::Boolean, created: Time, name: String, pan_range_end: String, pan_range_start: String, - account_level_management_enabled: T::Boolean, cardholder_currency: String, settlement_currencies: T::Array[String] } diff --git a/rbi/lithic/models/card_reissue_params.rbi b/rbi/lithic/models/card_reissue_params.rbi index d02a2602..f4e4384b 100644 --- a/rbi/lithic/models/card_reissue_params.rbi +++ b/rbi/lithic/models/card_reissue_params.rbi @@ -48,6 +48,7 @@ module Lithic # tracking # - `EXPEDITED` - FedEx or UPS depending on card manufacturer, Standard Overnight # or similar international option, with tracking + # - `BULK_EXPEDITED` - Bulk shipment with Expedited shipping sig do returns(T.nilable(Lithic::CardReissueParams::ShippingMethod::OrSymbol)) end @@ -92,6 +93,7 @@ module Lithic # tracking # - `EXPEDITED` - FedEx or UPS depending on card manufacturer, Standard Overnight # or similar international option, with tracking + # - `BULK_EXPEDITED` - Bulk shipment with Expedited shipping shipping_method: nil, request_options: {} ) @@ -126,6 +128,7 @@ module Lithic # tracking # - `EXPEDITED` - FedEx or UPS depending on card manufacturer, Standard Overnight # or similar international option, with tracking + # - `BULK_EXPEDITED` - Bulk shipment with Expedited shipping module ShippingMethod extend Lithic::Internal::Type::Enum @@ -140,6 +143,11 @@ module Lithic :"2_DAY", Lithic::CardReissueParams::ShippingMethod::TaggedSymbol ) + BULK_EXPEDITED = + T.let( + :BULK_EXPEDITED, + Lithic::CardReissueParams::ShippingMethod::TaggedSymbol + ) EXPEDITED = T.let( :EXPEDITED, diff --git a/rbi/lithic/models/card_renew_params.rbi b/rbi/lithic/models/card_renew_params.rbi index 2253fde0..71435ff4 100644 --- a/rbi/lithic/models/card_renew_params.rbi +++ b/rbi/lithic/models/card_renew_params.rbi @@ -64,6 +64,7 @@ module Lithic # tracking # - `EXPEDITED` - FedEx or UPS depending on card manufacturer, Standard Overnight # or similar international option, with tracking + # - `BULK_EXPEDITED` - Bulk shipment with Expedited shipping sig do returns(T.nilable(Lithic::CardRenewParams::ShippingMethod::OrSymbol)) end @@ -116,6 +117,7 @@ module Lithic # tracking # - `EXPEDITED` - FedEx or UPS depending on card manufacturer, Standard Overnight # or similar international option, with tracking + # - `BULK_EXPEDITED` - Bulk shipment with Expedited shipping shipping_method: nil, request_options: {} ) @@ -151,6 +153,7 @@ module Lithic # tracking # - `EXPEDITED` - FedEx or UPS depending on card manufacturer, Standard Overnight # or similar international option, with tracking + # - `BULK_EXPEDITED` - Bulk shipment with Expedited shipping module ShippingMethod extend Lithic::Internal::Type::Enum @@ -162,6 +165,11 @@ module Lithic SHIPPING_METHOD_2_DAY = T.let(:"2_DAY", Lithic::CardRenewParams::ShippingMethod::TaggedSymbol) + BULK_EXPEDITED = + T.let( + :BULK_EXPEDITED, + Lithic::CardRenewParams::ShippingMethod::TaggedSymbol + ) EXPEDITED = T.let( :EXPEDITED, diff --git a/rbi/lithic/models/card_web_provision_params.rbi b/rbi/lithic/models/card_web_provision_params.rbi index 60d04ca5..43dcbe30 100644 --- a/rbi/lithic/models/card_web_provision_params.rbi +++ b/rbi/lithic/models/card_web_provision_params.rbi @@ -11,6 +11,22 @@ module Lithic T.any(Lithic::CardWebProvisionParams, Lithic::Internal::AnyHash) end + # Only applicable if `digital_wallet` is GOOGLE_PAY. Google Pay Web Push + # Provisioning device identifier required for the tokenization flow + sig { returns(T.nilable(String)) } + attr_reader :client_device_id + + sig { params(client_device_id: String).void } + attr_writer :client_device_id + + # Only applicable if `digital_wallet` is GOOGLE_PAY. Google Pay Web Push + # Provisioning wallet account identifier required for the tokenization flow + sig { returns(T.nilable(String)) } + attr_reader :client_wallet_account_id + + sig { params(client_wallet_account_id: String).void } + attr_writer :client_wallet_account_id + # Name of digital wallet provider. sig do returns( @@ -27,16 +43,36 @@ module Lithic end attr_writer :digital_wallet + # Only applicable if `digital_wallet` is GOOGLE_PAY. Google Pay Web Push + # Provisioning session identifier required for the FPAN flow. + sig { returns(T.nilable(String)) } + attr_reader :server_session_id + + sig { params(server_session_id: String).void } + attr_writer :server_session_id + sig do params( + client_device_id: String, + client_wallet_account_id: String, digital_wallet: Lithic::CardWebProvisionParams::DigitalWallet::OrSymbol, + server_session_id: String, request_options: Lithic::RequestOptions::OrHash ).returns(T.attached_class) end def self.new( + # Only applicable if `digital_wallet` is GOOGLE_PAY. Google Pay Web Push + # Provisioning device identifier required for the tokenization flow + client_device_id: nil, + # Only applicable if `digital_wallet` is GOOGLE_PAY. Google Pay Web Push + # Provisioning wallet account identifier required for the tokenization flow + client_wallet_account_id: nil, # Name of digital wallet provider. digital_wallet: nil, + # Only applicable if `digital_wallet` is GOOGLE_PAY. Google Pay Web Push + # Provisioning session identifier required for the FPAN flow. + server_session_id: nil, request_options: {} ) end @@ -44,8 +80,11 @@ module Lithic sig do override.returns( { + client_device_id: String, + client_wallet_account_id: String, digital_wallet: Lithic::CardWebProvisionParams::DigitalWallet::OrSymbol, + server_session_id: String, request_options: Lithic::RequestOptions } ) @@ -68,6 +107,11 @@ module Lithic :APPLE_PAY, Lithic::CardWebProvisionParams::DigitalWallet::TaggedSymbol ) + GOOGLE_PAY = + T.let( + :GOOGLE_PAY, + Lithic::CardWebProvisionParams::DigitalWallet::TaggedSymbol + ) sig do override.returns( diff --git a/rbi/lithic/models/card_web_provision_response.rbi b/rbi/lithic/models/card_web_provision_response.rbi index 6d7d1f2d..fb68bbba 100644 --- a/rbi/lithic/models/card_web_provision_response.rbi +++ b/rbi/lithic/models/card_web_provision_response.rbi @@ -2,168 +2,248 @@ module Lithic module Models - class CardWebProvisionResponse < Lithic::Internal::Type::BaseModel - OrHash = + module CardWebProvisionResponse + extend Lithic::Internal::Type::Union + + Variants = T.type_alias do T.any( - Lithic::Models::CardWebProvisionResponse, - Lithic::Internal::AnyHash + Lithic::Models::CardWebProvisionResponse::AppleWebPushProvisioningResponse, + Lithic::Models::CardWebProvisionResponse::GoogleWebPushProvisioningResponse ) end - # JWS object required for handoff to Apple's script. - sig { returns(T.nilable(Lithic::Models::CardWebProvisionResponse::Jws)) } - attr_reader :jws - - sig do - params(jws: Lithic::Models::CardWebProvisionResponse::Jws::OrHash).void - end - attr_writer :jws - - # A unique identifier for the JWS object. - sig { returns(T.nilable(String)) } - attr_reader :state - - sig { params(state: String).void } - attr_writer :state - - sig do - params( - jws: Lithic::Models::CardWebProvisionResponse::Jws::OrHash, - state: String - ).returns(T.attached_class) - end - def self.new( - # JWS object required for handoff to Apple's script. - jws: nil, - # A unique identifier for the JWS object. - state: nil - ) - end - - sig do - override.returns( - { jws: Lithic::Models::CardWebProvisionResponse::Jws, state: String } - ) - end - def to_hash - end - - class Jws < Lithic::Internal::Type::BaseModel + class AppleWebPushProvisioningResponse < Lithic::Internal::Type::BaseModel OrHash = T.type_alias do T.any( - Lithic::Models::CardWebProvisionResponse::Jws, + Lithic::Models::CardWebProvisionResponse::AppleWebPushProvisioningResponse, Lithic::Internal::AnyHash ) end - # JWS unprotected headers containing header parameters that aren't - # integrity-protected by the JWS signature. + # JWS object required for handoff to Apple's script. sig do returns( - T.nilable(Lithic::Models::CardWebProvisionResponse::Jws::Header) + T.nilable( + Lithic::Models::CardWebProvisionResponse::AppleWebPushProvisioningResponse::Jws + ) ) end - attr_reader :header + attr_reader :jws sig do params( - header: - Lithic::Models::CardWebProvisionResponse::Jws::Header::OrHash + jws: + Lithic::Models::CardWebProvisionResponse::AppleWebPushProvisioningResponse::Jws::OrHash ).void end - attr_writer :header - - # Base64url encoded JSON object containing the provisioning payload. - sig { returns(T.nilable(String)) } - attr_reader :payload - - sig { params(payload: String).void } - attr_writer :payload - - # Base64url encoded JWS protected headers containing the header parameters that - # are integrity-protected by the JWS signature. - sig { returns(T.nilable(String)) } - attr_reader :protected + attr_writer :jws - sig { params(protected: String).void } - attr_writer :protected - - # Base64url encoded signature of the JWS object. + # A unique identifier for the JWS object. sig { returns(T.nilable(String)) } - attr_reader :signature + attr_reader :state - sig { params(signature: String).void } - attr_writer :signature + sig { params(state: String).void } + attr_writer :state - # JWS object required for handoff to Apple's script. sig do params( - header: - Lithic::Models::CardWebProvisionResponse::Jws::Header::OrHash, - payload: String, - protected: String, - signature: String + jws: + Lithic::Models::CardWebProvisionResponse::AppleWebPushProvisioningResponse::Jws::OrHash, + state: String ).returns(T.attached_class) end def self.new( - # JWS unprotected headers containing header parameters that aren't - # integrity-protected by the JWS signature. - header: nil, - # Base64url encoded JSON object containing the provisioning payload. - payload: nil, - # Base64url encoded JWS protected headers containing the header parameters that - # are integrity-protected by the JWS signature. - protected: nil, - # Base64url encoded signature of the JWS object. - signature: nil + # JWS object required for handoff to Apple's script. + jws: nil, + # A unique identifier for the JWS object. + state: nil ) end sig do override.returns( { - header: Lithic::Models::CardWebProvisionResponse::Jws::Header, - payload: String, - protected: String, - signature: String + jws: + Lithic::Models::CardWebProvisionResponse::AppleWebPushProvisioningResponse::Jws, + state: String } ) end def to_hash end - class Header < Lithic::Internal::Type::BaseModel + class Jws < Lithic::Internal::Type::BaseModel OrHash = T.type_alias do T.any( - Lithic::Models::CardWebProvisionResponse::Jws::Header, + Lithic::Models::CardWebProvisionResponse::AppleWebPushProvisioningResponse::Jws, Lithic::Internal::AnyHash ) end - # The ID for the JWS Public Key of the key pair used to generate the signature. + # JWS unprotected headers containing header parameters that aren't + # integrity-protected by the JWS signature. + sig do + returns( + T.nilable( + Lithic::Models::CardWebProvisionResponse::AppleWebPushProvisioningResponse::Jws::Header + ) + ) + end + attr_reader :header + + sig do + params( + header: + Lithic::Models::CardWebProvisionResponse::AppleWebPushProvisioningResponse::Jws::Header::OrHash + ).void + end + attr_writer :header + + # Base64url encoded JSON object containing the provisioning payload. sig { returns(T.nilable(String)) } - attr_reader :kid + attr_reader :payload - sig { params(kid: String).void } - attr_writer :kid + sig { params(payload: String).void } + attr_writer :payload - # JWS unprotected headers containing header parameters that aren't - # integrity-protected by the JWS signature. - sig { params(kid: String).returns(T.attached_class) } + # Base64url encoded JWS protected headers containing the header parameters that + # are integrity-protected by the JWS signature. + sig { returns(T.nilable(String)) } + attr_reader :protected + + sig { params(protected: String).void } + attr_writer :protected + + # Base64url encoded signature of the JWS object. + sig { returns(T.nilable(String)) } + attr_reader :signature + + sig { params(signature: String).void } + attr_writer :signature + + # JWS object required for handoff to Apple's script. + sig do + params( + header: + Lithic::Models::CardWebProvisionResponse::AppleWebPushProvisioningResponse::Jws::Header::OrHash, + payload: String, + protected: String, + signature: String + ).returns(T.attached_class) + end def self.new( - # The ID for the JWS Public Key of the key pair used to generate the signature. - kid: nil + # JWS unprotected headers containing header parameters that aren't + # integrity-protected by the JWS signature. + header: nil, + # Base64url encoded JSON object containing the provisioning payload. + payload: nil, + # Base64url encoded JWS protected headers containing the header parameters that + # are integrity-protected by the JWS signature. + protected: nil, + # Base64url encoded signature of the JWS object. + signature: nil ) end - sig { override.returns({ kid: String }) } + sig do + override.returns( + { + header: + Lithic::Models::CardWebProvisionResponse::AppleWebPushProvisioningResponse::Jws::Header, + payload: String, + protected: String, + signature: String + } + ) + end def to_hash end + + class Header < Lithic::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Lithic::Models::CardWebProvisionResponse::AppleWebPushProvisioningResponse::Jws::Header, + Lithic::Internal::AnyHash + ) + end + + # The ID for the JWS Public Key of the key pair used to generate the signature. + sig { returns(T.nilable(String)) } + attr_reader :kid + + sig { params(kid: String).void } + attr_writer :kid + + # JWS unprotected headers containing header parameters that aren't + # integrity-protected by the JWS signature. + sig { params(kid: String).returns(T.attached_class) } + def self.new( + # The ID for the JWS Public Key of the key pair used to generate the signature. + kid: nil + ) + end + + sig { override.returns({ kid: String }) } + def to_hash + end + end end end + + class GoogleWebPushProvisioningResponse < Lithic::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Lithic::Models::CardWebProvisionResponse::GoogleWebPushProvisioningResponse, + Lithic::Internal::AnyHash + ) + end + + # A base64 encoded and encrypted payload representing card data for the Google Pay + # UWPP FPAN flow. + sig { returns(T.nilable(String)) } + attr_reader :google_opc + + sig { params(google_opc: String).void } + attr_writer :google_opc + + # A base64 encoded and encrypted payload representing card data for the Google Pay + # UWPP tokenization flow. + sig { returns(T.nilable(String)) } + attr_reader :tsp_opc + + sig { params(tsp_opc: String).void } + attr_writer :tsp_opc + + sig do + params(google_opc: String, tsp_opc: String).returns(T.attached_class) + end + def self.new( + # A base64 encoded and encrypted payload representing card data for the Google Pay + # UWPP FPAN flow. + google_opc: nil, + # A base64 encoded and encrypted payload representing card data for the Google Pay + # UWPP tokenization flow. + tsp_opc: nil + ) + end + + sig { override.returns({ google_opc: String, tsp_opc: String }) } + def to_hash + end + end + + sig do + override.returns( + T::Array[Lithic::Models::CardWebProvisionResponse::Variants] + ) + end + def self.variants + end end end end diff --git a/rbi/lithic/models/cardholder_authentication.rbi b/rbi/lithic/models/cardholder_authentication.rbi new file mode 100644 index 00000000..49bb6fa8 --- /dev/null +++ b/rbi/lithic/models/cardholder_authentication.rbi @@ -0,0 +1,296 @@ +# typed: strong + +module Lithic + module Models + class CardholderAuthentication < Lithic::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any(Lithic::CardholderAuthentication, Lithic::Internal::AnyHash) + end + + # Indicates the method used to authenticate the cardholder. + sig do + returns( + Lithic::CardholderAuthentication::AuthenticationMethod::TaggedSymbol + ) + end + attr_accessor :authentication_method + + # Indicates the outcome of the 3DS authentication process. + sig do + returns( + Lithic::CardholderAuthentication::AuthenticationResult::TaggedSymbol + ) + end + attr_accessor :authentication_result + + # Indicates which party made the 3DS authentication decision. + sig do + returns(Lithic::CardholderAuthentication::DecisionMadeBy::TaggedSymbol) + end + attr_accessor :decision_made_by + + # Indicates whether chargeback liability shift applies to the transaction. + # Possible enum values: + # + # - `3DS_AUTHENTICATED`: The transaction was fully authenticated through a 3-D + # Secure flow, chargeback liability shift applies. + # - `NONE`: Chargeback liability shift has not shifted to the issuer, i.e. the + # merchant is liable. + # - `TOKEN_AUTHENTICATED`: The transaction was a tokenized payment with validated + # cryptography, possibly recurring. Chargeback liability shift to the issuer + # applies. + sig do + returns(Lithic::CardholderAuthentication::LiabilityShift::TaggedSymbol) + end + attr_accessor :liability_shift + + # Unique identifier you can use to match a given 3DS authentication (available via + # the three_ds_authentication.created event webhook) and the transaction. Note + # that in cases where liability shift does not occur, this token is matched to the + # transaction on a best-effort basis. + sig { returns(T.nilable(String)) } + attr_accessor :three_ds_authentication_token + + sig do + params( + authentication_method: + Lithic::CardholderAuthentication::AuthenticationMethod::OrSymbol, + authentication_result: + Lithic::CardholderAuthentication::AuthenticationResult::OrSymbol, + decision_made_by: + Lithic::CardholderAuthentication::DecisionMadeBy::OrSymbol, + liability_shift: + Lithic::CardholderAuthentication::LiabilityShift::OrSymbol, + three_ds_authentication_token: T.nilable(String) + ).returns(T.attached_class) + end + def self.new( + # Indicates the method used to authenticate the cardholder. + authentication_method:, + # Indicates the outcome of the 3DS authentication process. + authentication_result:, + # Indicates which party made the 3DS authentication decision. + decision_made_by:, + # Indicates whether chargeback liability shift applies to the transaction. + # Possible enum values: + # + # - `3DS_AUTHENTICATED`: The transaction was fully authenticated through a 3-D + # Secure flow, chargeback liability shift applies. + # - `NONE`: Chargeback liability shift has not shifted to the issuer, i.e. the + # merchant is liable. + # - `TOKEN_AUTHENTICATED`: The transaction was a tokenized payment with validated + # cryptography, possibly recurring. Chargeback liability shift to the issuer + # applies. + liability_shift:, + # Unique identifier you can use to match a given 3DS authentication (available via + # the three_ds_authentication.created event webhook) and the transaction. Note + # that in cases where liability shift does not occur, this token is matched to the + # transaction on a best-effort basis. + three_ds_authentication_token: + ) + end + + sig do + override.returns( + { + authentication_method: + Lithic::CardholderAuthentication::AuthenticationMethod::TaggedSymbol, + authentication_result: + Lithic::CardholderAuthentication::AuthenticationResult::TaggedSymbol, + decision_made_by: + Lithic::CardholderAuthentication::DecisionMadeBy::TaggedSymbol, + liability_shift: + Lithic::CardholderAuthentication::LiabilityShift::TaggedSymbol, + three_ds_authentication_token: T.nilable(String) + } + ) + end + def to_hash + end + + # Indicates the method used to authenticate the cardholder. + module AuthenticationMethod + extend Lithic::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Lithic::CardholderAuthentication::AuthenticationMethod + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + FRICTIONLESS = + T.let( + :FRICTIONLESS, + Lithic::CardholderAuthentication::AuthenticationMethod::TaggedSymbol + ) + CHALLENGE = + T.let( + :CHALLENGE, + Lithic::CardholderAuthentication::AuthenticationMethod::TaggedSymbol + ) + NONE = + T.let( + :NONE, + Lithic::CardholderAuthentication::AuthenticationMethod::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Lithic::CardholderAuthentication::AuthenticationMethod::TaggedSymbol + ] + ) + end + def self.values + end + end + + # Indicates the outcome of the 3DS authentication process. + module AuthenticationResult + extend Lithic::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Lithic::CardholderAuthentication::AuthenticationResult + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + ATTEMPTS = + T.let( + :ATTEMPTS, + Lithic::CardholderAuthentication::AuthenticationResult::TaggedSymbol + ) + DECLINE = + T.let( + :DECLINE, + Lithic::CardholderAuthentication::AuthenticationResult::TaggedSymbol + ) + NONE = + T.let( + :NONE, + Lithic::CardholderAuthentication::AuthenticationResult::TaggedSymbol + ) + SUCCESS = + T.let( + :SUCCESS, + Lithic::CardholderAuthentication::AuthenticationResult::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Lithic::CardholderAuthentication::AuthenticationResult::TaggedSymbol + ] + ) + end + def self.values + end + end + + # Indicates which party made the 3DS authentication decision. + module DecisionMadeBy + extend Lithic::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all(Symbol, Lithic::CardholderAuthentication::DecisionMadeBy) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + CUSTOMER_RULES = + T.let( + :CUSTOMER_RULES, + Lithic::CardholderAuthentication::DecisionMadeBy::TaggedSymbol + ) + CUSTOMER_ENDPOINT = + T.let( + :CUSTOMER_ENDPOINT, + Lithic::CardholderAuthentication::DecisionMadeBy::TaggedSymbol + ) + LITHIC_DEFAULT = + T.let( + :LITHIC_DEFAULT, + Lithic::CardholderAuthentication::DecisionMadeBy::TaggedSymbol + ) + LITHIC_RULES = + T.let( + :LITHIC_RULES, + Lithic::CardholderAuthentication::DecisionMadeBy::TaggedSymbol + ) + NETWORK = + T.let( + :NETWORK, + Lithic::CardholderAuthentication::DecisionMadeBy::TaggedSymbol + ) + UNKNOWN = + T.let( + :UNKNOWN, + Lithic::CardholderAuthentication::DecisionMadeBy::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Lithic::CardholderAuthentication::DecisionMadeBy::TaggedSymbol + ] + ) + end + def self.values + end + end + + # Indicates whether chargeback liability shift applies to the transaction. + # Possible enum values: + # + # - `3DS_AUTHENTICATED`: The transaction was fully authenticated through a 3-D + # Secure flow, chargeback liability shift applies. + # - `NONE`: Chargeback liability shift has not shifted to the issuer, i.e. the + # merchant is liable. + # - `TOKEN_AUTHENTICATED`: The transaction was a tokenized payment with validated + # cryptography, possibly recurring. Chargeback liability shift to the issuer + # applies. + module LiabilityShift + extend Lithic::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all(Symbol, Lithic::CardholderAuthentication::LiabilityShift) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + LIABILITY_SHIFT_3DS_AUTHENTICATED = + T.let( + :"3DS_AUTHENTICATED", + Lithic::CardholderAuthentication::LiabilityShift::TaggedSymbol + ) + TOKEN_AUTHENTICATED = + T.let( + :TOKEN_AUTHENTICATED, + Lithic::CardholderAuthentication::LiabilityShift::TaggedSymbol + ) + NONE = + T.let( + :NONE, + Lithic::CardholderAuthentication::LiabilityShift::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Lithic::CardholderAuthentication::LiabilityShift::TaggedSymbol + ] + ) + end + def self.values + end + end + end + end +end diff --git a/rbi/lithic/models/cards/balance_list_response.rbi b/rbi/lithic/models/cards/balance_list_response.rbi deleted file mode 100644 index 0254f8b9..00000000 --- a/rbi/lithic/models/cards/balance_list_response.rbi +++ /dev/null @@ -1,170 +0,0 @@ -# typed: strong - -module Lithic - module Models - module Cards - class BalanceListResponse < Lithic::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Lithic::Models::Cards::BalanceListResponse, - Lithic::Internal::AnyHash - ) - end - - # Globally unique identifier for the financial account that holds this balance. - sig { returns(String) } - attr_accessor :token - - # Funds available for spend in the currency's smallest unit (e.g., cents for USD) - sig { returns(Integer) } - attr_accessor :available_amount - - # Date and time for when the balance was first created. - sig { returns(Time) } - attr_accessor :created - - # 3-character alphabetic ISO 4217 code for the local currency of the balance. - sig { returns(String) } - attr_accessor :currency - - # Globally unique identifier for the last financial transaction event that - # impacted this balance. - sig { returns(String) } - attr_accessor :last_transaction_event_token - - # Globally unique identifier for the last financial transaction that impacted this - # balance. - sig { returns(String) } - attr_accessor :last_transaction_token - - # Funds not available for spend due to card authorizations or pending ACH release. - # Shown in the currency's smallest unit (e.g., cents for USD). - sig { returns(Integer) } - attr_accessor :pending_amount - - # The sum of available and pending balance in the currency's smallest unit (e.g., - # cents for USD). - sig { returns(Integer) } - attr_accessor :total_amount - - # Type of financial account. - sig do - returns( - Lithic::Models::Cards::BalanceListResponse::Type::TaggedSymbol - ) - end - attr_accessor :type - - # Date and time for when the balance was last updated. - sig { returns(Time) } - attr_accessor :updated - - # Balance of a Financial Account - sig do - params( - token: String, - available_amount: Integer, - created: Time, - currency: String, - last_transaction_event_token: String, - last_transaction_token: String, - pending_amount: Integer, - total_amount: Integer, - type: Lithic::Models::Cards::BalanceListResponse::Type::OrSymbol, - updated: Time - ).returns(T.attached_class) - end - def self.new( - # Globally unique identifier for the financial account that holds this balance. - token:, - # Funds available for spend in the currency's smallest unit (e.g., cents for USD) - available_amount:, - # Date and time for when the balance was first created. - created:, - # 3-character alphabetic ISO 4217 code for the local currency of the balance. - currency:, - # Globally unique identifier for the last financial transaction event that - # impacted this balance. - last_transaction_event_token:, - # Globally unique identifier for the last financial transaction that impacted this - # balance. - last_transaction_token:, - # Funds not available for spend due to card authorizations or pending ACH release. - # Shown in the currency's smallest unit (e.g., cents for USD). - pending_amount:, - # The sum of available and pending balance in the currency's smallest unit (e.g., - # cents for USD). - total_amount:, - # Type of financial account. - type:, - # Date and time for when the balance was last updated. - updated: - ) - end - - sig do - override.returns( - { - token: String, - available_amount: Integer, - created: Time, - currency: String, - last_transaction_event_token: String, - last_transaction_token: String, - pending_amount: Integer, - total_amount: Integer, - type: - Lithic::Models::Cards::BalanceListResponse::Type::TaggedSymbol, - updated: Time - } - ) - end - def to_hash - end - - # Type of financial account. - module Type - extend Lithic::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all(Symbol, Lithic::Models::Cards::BalanceListResponse::Type) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - ISSUING = - T.let( - :ISSUING, - Lithic::Models::Cards::BalanceListResponse::Type::TaggedSymbol - ) - OPERATING = - T.let( - :OPERATING, - Lithic::Models::Cards::BalanceListResponse::Type::TaggedSymbol - ) - RESERVE = - T.let( - :RESERVE, - Lithic::Models::Cards::BalanceListResponse::Type::TaggedSymbol - ) - SECURITY = - T.let( - :SECURITY, - Lithic::Models::Cards::BalanceListResponse::Type::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Lithic::Models::Cards::BalanceListResponse::Type::TaggedSymbol - ] - ) - end - def self.values - end - end - end - end - end -end diff --git a/rbi/lithic/models/device.rbi b/rbi/lithic/models/device.rbi new file mode 100644 index 00000000..87385c39 --- /dev/null +++ b/rbi/lithic/models/device.rbi @@ -0,0 +1,54 @@ +# typed: strong + +module Lithic + module Models + class Device < Lithic::Internal::Type::BaseModel + OrHash = T.type_alias { T.any(Lithic::Device, Lithic::Internal::AnyHash) } + + # The IMEI number of the device being provisioned. For Amex, this field contains + # device ID instead as IMEI is not provided + sig { returns(T.nilable(String)) } + attr_accessor :imei + + # The IP address of the device initiating the request + sig { returns(T.nilable(String)) } + attr_accessor :ip_address + + # Latitude and longitude where the device is located during the authorization + # attempt + sig { returns(T.nilable(String)) } + attr_accessor :location + + sig do + params( + imei: T.nilable(String), + ip_address: T.nilable(String), + location: T.nilable(String) + ).returns(T.attached_class) + end + def self.new( + # The IMEI number of the device being provisioned. For Amex, this field contains + # device ID instead as IMEI is not provided + imei:, + # The IP address of the device initiating the request + ip_address:, + # Latitude and longitude where the device is located during the authorization + # attempt + location: + ) + end + + sig do + override.returns( + { + imei: T.nilable(String), + ip_address: T.nilable(String), + location: T.nilable(String) + } + ) + end + def to_hash + end + end + end +end diff --git a/rbi/lithic/models/digital_wallet_token_metadata.rbi b/rbi/lithic/models/digital_wallet_token_metadata.rbi new file mode 100644 index 00000000..f84ef27d --- /dev/null +++ b/rbi/lithic/models/digital_wallet_token_metadata.rbi @@ -0,0 +1,290 @@ +# typed: strong + +module Lithic + module Models + class DigitalWalletTokenMetadata < Lithic::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any(Lithic::DigitalWalletTokenMetadata, Lithic::Internal::AnyHash) + end + + # Contains the information of the account responsible for the payment. + sig { returns(Lithic::DigitalWalletTokenMetadata::PaymentAccountInfo) } + attr_reader :payment_account_info + + sig do + params( + payment_account_info: + Lithic::DigitalWalletTokenMetadata::PaymentAccountInfo::OrHash + ).void + end + attr_writer :payment_account_info + + # The current status of the digital wallet token. Pending or declined. + sig { returns(String) } + attr_accessor :status + + # The identifier of the Payment App instance within a device that will be + # provisioned with a token + sig { returns(T.nilable(String)) } + attr_accessor :payment_app_instance_id + + # The party that requested the digitization + sig { returns(T.nilable(String)) } + attr_reader :token_requestor_id + + sig { params(token_requestor_id: String).void } + attr_writer :token_requestor_id + + # Human-readable name of the wallet that the token_requestor_id maps to. + sig do + returns( + T.nilable( + Lithic::DigitalWalletTokenMetadata::TokenRequestorName::OrSymbol + ) + ) + end + attr_reader :token_requestor_name + + sig do + params( + token_requestor_name: + Lithic::DigitalWalletTokenMetadata::TokenRequestorName::OrSymbol + ).void + end + attr_writer :token_requestor_name + + # Contains the metadata for the digital wallet being tokenized. + sig do + params( + payment_account_info: + Lithic::DigitalWalletTokenMetadata::PaymentAccountInfo::OrHash, + status: String, + payment_app_instance_id: T.nilable(String), + token_requestor_id: String, + token_requestor_name: + Lithic::DigitalWalletTokenMetadata::TokenRequestorName::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # Contains the information of the account responsible for the payment. + payment_account_info:, + # The current status of the digital wallet token. Pending or declined. + status:, + # The identifier of the Payment App instance within a device that will be + # provisioned with a token + payment_app_instance_id: nil, + # The party that requested the digitization + token_requestor_id: nil, + # Human-readable name of the wallet that the token_requestor_id maps to. + token_requestor_name: nil + ) + end + + sig do + override.returns( + { + payment_account_info: + Lithic::DigitalWalletTokenMetadata::PaymentAccountInfo, + status: String, + payment_app_instance_id: T.nilable(String), + token_requestor_id: String, + token_requestor_name: + Lithic::DigitalWalletTokenMetadata::TokenRequestorName::OrSymbol + } + ) + end + def to_hash + end + + class PaymentAccountInfo < Lithic::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Lithic::DigitalWalletTokenMetadata::PaymentAccountInfo, + Lithic::Internal::AnyHash + ) + end + + # Additional information that can be used to identify the account holder, such as + # name, address, etc + sig do + returns( + Lithic::DigitalWalletTokenMetadata::PaymentAccountInfo::AccountHolderData + ) + end + attr_reader :account_holder_data + + sig do + params( + account_holder_data: + Lithic::DigitalWalletTokenMetadata::PaymentAccountInfo::AccountHolderData::OrHash + ).void + end + attr_writer :account_holder_data + + # Reference to the PAN that is unique per Wallet Provider + sig { returns(T.nilable(String)) } + attr_accessor :pan_unique_reference + + # The unique account reference assigned to the PAN + sig { returns(T.nilable(String)) } + attr_accessor :payment_account_reference + + # A unique reference assigned following the allocation of a token used to identify + # the token for the duration of its lifetime. + sig { returns(T.nilable(String)) } + attr_accessor :token_unique_reference + + # Contains the information of the account responsible for the payment. + sig do + params( + account_holder_data: + Lithic::DigitalWalletTokenMetadata::PaymentAccountInfo::AccountHolderData::OrHash, + pan_unique_reference: T.nilable(String), + payment_account_reference: T.nilable(String), + token_unique_reference: T.nilable(String) + ).returns(T.attached_class) + end + def self.new( + # Additional information that can be used to identify the account holder, such as + # name, address, etc + account_holder_data:, + # Reference to the PAN that is unique per Wallet Provider + pan_unique_reference: nil, + # The unique account reference assigned to the PAN + payment_account_reference: nil, + # A unique reference assigned following the allocation of a token used to identify + # the token for the duration of its lifetime. + token_unique_reference: nil + ) + end + + sig do + override.returns( + { + account_holder_data: + Lithic::DigitalWalletTokenMetadata::PaymentAccountInfo::AccountHolderData, + pan_unique_reference: T.nilable(String), + payment_account_reference: T.nilable(String), + token_unique_reference: T.nilable(String) + } + ) + end + def to_hash + end + + class AccountHolderData < Lithic::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Lithic::DigitalWalletTokenMetadata::PaymentAccountInfo::AccountHolderData, + Lithic::Internal::AnyHash + ) + end + + # The phone number, may contain country code along with phone number when + # countryDialInCode is not present + sig { returns(T.nilable(String)) } + attr_accessor :phone_number + + # Additional information that can be used to identify the account holder, such as + # name, address, etc + sig do + params(phone_number: T.nilable(String)).returns(T.attached_class) + end + def self.new( + # The phone number, may contain country code along with phone number when + # countryDialInCode is not present + phone_number: nil + ) + end + + sig { override.returns({ phone_number: T.nilable(String) }) } + def to_hash + end + end + end + + # Human-readable name of the wallet that the token_requestor_id maps to. + module TokenRequestorName + extend Lithic::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Lithic::DigitalWalletTokenMetadata::TokenRequestorName + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + AMAZON_ONE = + T.let( + :AMAZON_ONE, + Lithic::DigitalWalletTokenMetadata::TokenRequestorName::TaggedSymbol + ) + ANDROID_PAY = + T.let( + :ANDROID_PAY, + Lithic::DigitalWalletTokenMetadata::TokenRequestorName::TaggedSymbol + ) + APPLE_PAY = + T.let( + :APPLE_PAY, + Lithic::DigitalWalletTokenMetadata::TokenRequestorName::TaggedSymbol + ) + FACEBOOK = + T.let( + :FACEBOOK, + Lithic::DigitalWalletTokenMetadata::TokenRequestorName::TaggedSymbol + ) + FITBIT_PAY = + T.let( + :FITBIT_PAY, + Lithic::DigitalWalletTokenMetadata::TokenRequestorName::TaggedSymbol + ) + GARMIN_PAY = + T.let( + :GARMIN_PAY, + Lithic::DigitalWalletTokenMetadata::TokenRequestorName::TaggedSymbol + ) + MICROSOFT_PAY = + T.let( + :MICROSOFT_PAY, + Lithic::DigitalWalletTokenMetadata::TokenRequestorName::TaggedSymbol + ) + NETFLIX = + T.let( + :NETFLIX, + Lithic::DigitalWalletTokenMetadata::TokenRequestorName::TaggedSymbol + ) + SAMSUNG_PAY = + T.let( + :SAMSUNG_PAY, + Lithic::DigitalWalletTokenMetadata::TokenRequestorName::TaggedSymbol + ) + UNKNOWN = + T.let( + :UNKNOWN, + Lithic::DigitalWalletTokenMetadata::TokenRequestorName::TaggedSymbol + ) + VISA_CHECKOUT = + T.let( + :VISA_CHECKOUT, + Lithic::DigitalWalletTokenMetadata::TokenRequestorName::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Lithic::DigitalWalletTokenMetadata::TokenRequestorName::TaggedSymbol + ] + ) + end + def self.values + end + end + end + end +end diff --git a/rbi/lithic/models/external_bank_account_unpause_response.rbi b/rbi/lithic/models/external_bank_account.rbi similarity index 74% rename from rbi/lithic/models/external_bank_account_unpause_response.rbi rename to rbi/lithic/models/external_bank_account.rbi index ba8730e8..2722ff8c 100644 --- a/rbi/lithic/models/external_bank_account_unpause_response.rbi +++ b/rbi/lithic/models/external_bank_account.rbi @@ -2,13 +2,10 @@ module Lithic module Models - class ExternalBankAccountUnpauseResponse < Lithic::Internal::Type::BaseModel + class ExternalBankAccount < Lithic::Internal::Type::BaseModel OrHash = T.type_alias do - T.any( - Lithic::Models::ExternalBankAccountUnpauseResponse, - Lithic::Internal::AnyHash - ) + T.any(Lithic::ExternalBankAccount, Lithic::Internal::AnyHash) end # A globally unique identifier for this record of an external bank account @@ -51,19 +48,11 @@ module Lithic attr_accessor :routing_number # Account State - sig do - returns( - Lithic::Models::ExternalBankAccountUnpauseResponse::State::TaggedSymbol - ) - end + sig { returns(Lithic::ExternalBankAccount::State::TaggedSymbol) } attr_accessor :state # Account Type - sig do - returns( - Lithic::Models::ExternalBankAccountUnpauseResponse::Type::TaggedSymbol - ) - end + sig { returns(Lithic::ExternalBankAccount::Type::TaggedSymbol) } attr_accessor :type # The number of attempts at verification @@ -76,9 +65,7 @@ module Lithic # Verification State sig do - returns( - Lithic::Models::ExternalBankAccountUnpauseResponse::VerificationState::TaggedSymbol - ) + returns(Lithic::ExternalBankAccount::VerificationState::TaggedSymbol) end attr_accessor :verification_state @@ -139,14 +126,12 @@ module Lithic owner: String, owner_type: Lithic::OwnerType::OrSymbol, routing_number: String, - state: - Lithic::Models::ExternalBankAccountUnpauseResponse::State::OrSymbol, - type: - Lithic::Models::ExternalBankAccountUnpauseResponse::Type::OrSymbol, + state: Lithic::ExternalBankAccount::State::OrSymbol, + type: Lithic::ExternalBankAccount::Type::OrSymbol, verification_attempts: Integer, verification_method: Lithic::VerificationMethod::OrSymbol, verification_state: - Lithic::Models::ExternalBankAccountUnpauseResponse::VerificationState::OrSymbol, + Lithic::ExternalBankAccount::VerificationState::OrSymbol, account_token: T.nilable(String), address: T.nilable(Lithic::ExternalBankAccountAddress::OrHash), company_id: T.nilable(String), @@ -228,14 +213,12 @@ module Lithic owner: String, owner_type: Lithic::OwnerType::TaggedSymbol, routing_number: String, - state: - Lithic::Models::ExternalBankAccountUnpauseResponse::State::TaggedSymbol, - type: - Lithic::Models::ExternalBankAccountUnpauseResponse::Type::TaggedSymbol, + state: Lithic::ExternalBankAccount::State::TaggedSymbol, + type: Lithic::ExternalBankAccount::Type::TaggedSymbol, verification_attempts: Integer, verification_method: Lithic::VerificationMethod::TaggedSymbol, verification_state: - Lithic::Models::ExternalBankAccountUnpauseResponse::VerificationState::TaggedSymbol, + Lithic::ExternalBankAccount::VerificationState::TaggedSymbol, account_token: T.nilable(String), address: T.nilable(Lithic::ExternalBankAccountAddress), company_id: T.nilable(String), @@ -256,35 +239,19 @@ module Lithic extend Lithic::Internal::Type::Enum TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Lithic::Models::ExternalBankAccountUnpauseResponse::State - ) - end + T.type_alias { T.all(Symbol, Lithic::ExternalBankAccount::State) } OrSymbol = T.type_alias { T.any(Symbol, String) } ENABLED = - T.let( - :ENABLED, - Lithic::Models::ExternalBankAccountUnpauseResponse::State::TaggedSymbol - ) + T.let(:ENABLED, Lithic::ExternalBankAccount::State::TaggedSymbol) CLOSED = - T.let( - :CLOSED, - Lithic::Models::ExternalBankAccountUnpauseResponse::State::TaggedSymbol - ) + T.let(:CLOSED, Lithic::ExternalBankAccount::State::TaggedSymbol) PAUSED = - T.let( - :PAUSED, - Lithic::Models::ExternalBankAccountUnpauseResponse::State::TaggedSymbol - ) + T.let(:PAUSED, Lithic::ExternalBankAccount::State::TaggedSymbol) sig do override.returns( - T::Array[ - Lithic::Models::ExternalBankAccountUnpauseResponse::State::TaggedSymbol - ] + T::Array[Lithic::ExternalBankAccount::State::TaggedSymbol] ) end def self.values @@ -296,30 +263,17 @@ module Lithic extend Lithic::Internal::Type::Enum TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Lithic::Models::ExternalBankAccountUnpauseResponse::Type - ) - end + T.type_alias { T.all(Symbol, Lithic::ExternalBankAccount::Type) } OrSymbol = T.type_alias { T.any(Symbol, String) } CHECKING = - T.let( - :CHECKING, - Lithic::Models::ExternalBankAccountUnpauseResponse::Type::TaggedSymbol - ) + T.let(:CHECKING, Lithic::ExternalBankAccount::Type::TaggedSymbol) SAVINGS = - T.let( - :SAVINGS, - Lithic::Models::ExternalBankAccountUnpauseResponse::Type::TaggedSymbol - ) + T.let(:SAVINGS, Lithic::ExternalBankAccount::Type::TaggedSymbol) sig do override.returns( - T::Array[ - Lithic::Models::ExternalBankAccountUnpauseResponse::Type::TaggedSymbol - ] + T::Array[Lithic::ExternalBankAccount::Type::TaggedSymbol] ) end def self.values @@ -332,38 +286,35 @@ module Lithic TaggedSymbol = T.type_alias do - T.all( - Symbol, - Lithic::Models::ExternalBankAccountUnpauseResponse::VerificationState - ) + T.all(Symbol, Lithic::ExternalBankAccount::VerificationState) end OrSymbol = T.type_alias { T.any(Symbol, String) } PENDING = T.let( :PENDING, - Lithic::Models::ExternalBankAccountUnpauseResponse::VerificationState::TaggedSymbol + Lithic::ExternalBankAccount::VerificationState::TaggedSymbol ) ENABLED = T.let( :ENABLED, - Lithic::Models::ExternalBankAccountUnpauseResponse::VerificationState::TaggedSymbol + Lithic::ExternalBankAccount::VerificationState::TaggedSymbol ) FAILED_VERIFICATION = T.let( :FAILED_VERIFICATION, - Lithic::Models::ExternalBankAccountUnpauseResponse::VerificationState::TaggedSymbol + Lithic::ExternalBankAccount::VerificationState::TaggedSymbol ) INSUFFICIENT_FUNDS = T.let( :INSUFFICIENT_FUNDS, - Lithic::Models::ExternalBankAccountUnpauseResponse::VerificationState::TaggedSymbol + Lithic::ExternalBankAccount::VerificationState::TaggedSymbol ) sig do override.returns( T::Array[ - Lithic::Models::ExternalBankAccountUnpauseResponse::VerificationState::TaggedSymbol + Lithic::ExternalBankAccount::VerificationState::TaggedSymbol ] ) end diff --git a/rbi/lithic/models/external_bank_account_retry_prenote_response.rbi b/rbi/lithic/models/external_bank_account_retry_prenote_response.rbi deleted file mode 100644 index 39aa9d31..00000000 --- a/rbi/lithic/models/external_bank_account_retry_prenote_response.rbi +++ /dev/null @@ -1,375 +0,0 @@ -# typed: strong - -module Lithic - module Models - class ExternalBankAccountRetryPrenoteResponse < Lithic::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Lithic::Models::ExternalBankAccountRetryPrenoteResponse, - Lithic::Internal::AnyHash - ) - end - - # A globally unique identifier for this record of an external bank account - # association. If a program links an external bank account to more than one - # end-user or to both the program and the end-user, then Lithic will return each - # record of the association - sig { returns(String) } - attr_accessor :token - - # The country that the bank account is located in using ISO 3166-1. We will only - # accept USA bank accounts e.g., USA - sig { returns(String) } - attr_accessor :country - - # An ISO 8601 string representing when this funding source was added to the Lithic - # account. - sig { returns(Time) } - attr_accessor :created - - # currency of the external account 3-character alphabetic ISO 4217 code - sig { returns(String) } - attr_accessor :currency - - # The last 4 digits of the bank account. Derived by Lithic from the account number - # passed - sig { returns(String) } - attr_accessor :last_four - - # Legal Name of the business or individual who owns the external account. This - # will appear in statements - sig { returns(String) } - attr_accessor :owner - - # Owner Type - sig { returns(Lithic::OwnerType::TaggedSymbol) } - attr_accessor :owner_type - - # Routing Number - sig { returns(String) } - attr_accessor :routing_number - - # Account State - sig do - returns( - Lithic::Models::ExternalBankAccountRetryPrenoteResponse::State::TaggedSymbol - ) - end - attr_accessor :state - - # Account Type - sig do - returns( - Lithic::Models::ExternalBankAccountRetryPrenoteResponse::Type::TaggedSymbol - ) - end - attr_accessor :type - - # The number of attempts at verification - sig { returns(Integer) } - attr_accessor :verification_attempts - - # Verification Method - sig { returns(Lithic::VerificationMethod::TaggedSymbol) } - attr_accessor :verification_method - - # Verification State - sig do - returns( - Lithic::Models::ExternalBankAccountRetryPrenoteResponse::VerificationState::TaggedSymbol - ) - end - attr_accessor :verification_state - - # Indicates which Lithic account the external account is associated with. For - # external accounts that are associated with the program, account_token field - # returned will be null - sig { returns(T.nilable(String)) } - attr_accessor :account_token - - # Address - sig { returns(T.nilable(Lithic::ExternalBankAccountAddress)) } - attr_reader :address - - sig do - params( - address: T.nilable(Lithic::ExternalBankAccountAddress::OrHash) - ).void - end - attr_writer :address - - # Optional field that helps identify bank accounts in receipts - sig { returns(T.nilable(String)) } - attr_accessor :company_id - - # Date of Birth of the Individual that owns the external bank account - sig { returns(T.nilable(Date)) } - attr_accessor :dob - - # Doing Business As - sig { returns(T.nilable(String)) } - attr_accessor :doing_business_as - - # The financial account token of the operating account to fund the micro deposits - sig { returns(T.nilable(String)) } - attr_accessor :financial_account_token - - # The nickname for this External Bank Account - sig { returns(T.nilable(String)) } - attr_accessor :name - - # User Defined ID - sig { returns(T.nilable(String)) } - attr_accessor :user_defined_id - - # Optional free text description of the reason for the failed verification. For - # ACH micro-deposits returned, this field will display the reason return code sent - # by the ACH network - sig { returns(T.nilable(String)) } - attr_accessor :verification_failed_reason - - sig do - params( - token: String, - country: String, - created: Time, - currency: String, - last_four: String, - owner: String, - owner_type: Lithic::OwnerType::OrSymbol, - routing_number: String, - state: - Lithic::Models::ExternalBankAccountRetryPrenoteResponse::State::OrSymbol, - type: - Lithic::Models::ExternalBankAccountRetryPrenoteResponse::Type::OrSymbol, - verification_attempts: Integer, - verification_method: Lithic::VerificationMethod::OrSymbol, - verification_state: - Lithic::Models::ExternalBankAccountRetryPrenoteResponse::VerificationState::OrSymbol, - account_token: T.nilable(String), - address: T.nilable(Lithic::ExternalBankAccountAddress::OrHash), - company_id: T.nilable(String), - dob: T.nilable(Date), - doing_business_as: T.nilable(String), - financial_account_token: T.nilable(String), - name: T.nilable(String), - user_defined_id: T.nilable(String), - verification_failed_reason: T.nilable(String) - ).returns(T.attached_class) - end - def self.new( - # A globally unique identifier for this record of an external bank account - # association. If a program links an external bank account to more than one - # end-user or to both the program and the end-user, then Lithic will return each - # record of the association - token:, - # The country that the bank account is located in using ISO 3166-1. We will only - # accept USA bank accounts e.g., USA - country:, - # An ISO 8601 string representing when this funding source was added to the Lithic - # account. - created:, - # currency of the external account 3-character alphabetic ISO 4217 code - currency:, - # The last 4 digits of the bank account. Derived by Lithic from the account number - # passed - last_four:, - # Legal Name of the business or individual who owns the external account. This - # will appear in statements - owner:, - # Owner Type - owner_type:, - # Routing Number - routing_number:, - # Account State - state:, - # Account Type - type:, - # The number of attempts at verification - verification_attempts:, - # Verification Method - verification_method:, - # Verification State - verification_state:, - # Indicates which Lithic account the external account is associated with. For - # external accounts that are associated with the program, account_token field - # returned will be null - account_token: nil, - # Address - address: nil, - # Optional field that helps identify bank accounts in receipts - company_id: nil, - # Date of Birth of the Individual that owns the external bank account - dob: nil, - # Doing Business As - doing_business_as: nil, - # The financial account token of the operating account to fund the micro deposits - financial_account_token: nil, - # The nickname for this External Bank Account - name: nil, - # User Defined ID - user_defined_id: nil, - # Optional free text description of the reason for the failed verification. For - # ACH micro-deposits returned, this field will display the reason return code sent - # by the ACH network - verification_failed_reason: nil - ) - end - - sig do - override.returns( - { - token: String, - country: String, - created: Time, - currency: String, - last_four: String, - owner: String, - owner_type: Lithic::OwnerType::TaggedSymbol, - routing_number: String, - state: - Lithic::Models::ExternalBankAccountRetryPrenoteResponse::State::TaggedSymbol, - type: - Lithic::Models::ExternalBankAccountRetryPrenoteResponse::Type::TaggedSymbol, - verification_attempts: Integer, - verification_method: Lithic::VerificationMethod::TaggedSymbol, - verification_state: - Lithic::Models::ExternalBankAccountRetryPrenoteResponse::VerificationState::TaggedSymbol, - account_token: T.nilable(String), - address: T.nilable(Lithic::ExternalBankAccountAddress), - company_id: T.nilable(String), - dob: T.nilable(Date), - doing_business_as: T.nilable(String), - financial_account_token: T.nilable(String), - name: T.nilable(String), - user_defined_id: T.nilable(String), - verification_failed_reason: T.nilable(String) - } - ) - end - def to_hash - end - - # Account State - module State - extend Lithic::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Lithic::Models::ExternalBankAccountRetryPrenoteResponse::State - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - ENABLED = - T.let( - :ENABLED, - Lithic::Models::ExternalBankAccountRetryPrenoteResponse::State::TaggedSymbol - ) - CLOSED = - T.let( - :CLOSED, - Lithic::Models::ExternalBankAccountRetryPrenoteResponse::State::TaggedSymbol - ) - PAUSED = - T.let( - :PAUSED, - Lithic::Models::ExternalBankAccountRetryPrenoteResponse::State::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Lithic::Models::ExternalBankAccountRetryPrenoteResponse::State::TaggedSymbol - ] - ) - end - def self.values - end - end - - # Account Type - module Type - extend Lithic::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Lithic::Models::ExternalBankAccountRetryPrenoteResponse::Type - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - CHECKING = - T.let( - :CHECKING, - Lithic::Models::ExternalBankAccountRetryPrenoteResponse::Type::TaggedSymbol - ) - SAVINGS = - T.let( - :SAVINGS, - Lithic::Models::ExternalBankAccountRetryPrenoteResponse::Type::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Lithic::Models::ExternalBankAccountRetryPrenoteResponse::Type::TaggedSymbol - ] - ) - end - def self.values - end - end - - # Verification State - module VerificationState - extend Lithic::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Lithic::Models::ExternalBankAccountRetryPrenoteResponse::VerificationState - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - PENDING = - T.let( - :PENDING, - Lithic::Models::ExternalBankAccountRetryPrenoteResponse::VerificationState::TaggedSymbol - ) - ENABLED = - T.let( - :ENABLED, - Lithic::Models::ExternalBankAccountRetryPrenoteResponse::VerificationState::TaggedSymbol - ) - FAILED_VERIFICATION = - T.let( - :FAILED_VERIFICATION, - Lithic::Models::ExternalBankAccountRetryPrenoteResponse::VerificationState::TaggedSymbol - ) - INSUFFICIENT_FUNDS = - T.let( - :INSUFFICIENT_FUNDS, - Lithic::Models::ExternalBankAccountRetryPrenoteResponse::VerificationState::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Lithic::Models::ExternalBankAccountRetryPrenoteResponse::VerificationState::TaggedSymbol - ] - ) - end - def self.values - end - end - end - end -end diff --git a/rbi/lithic/models/external_payment.rbi b/rbi/lithic/models/external_payment.rbi index e587dc4f..7714279a 100644 --- a/rbi/lithic/models/external_payment.rbi +++ b/rbi/lithic/models/external_payment.rbi @@ -200,6 +200,13 @@ module Lithic :EXTERNAL_CHECK, Lithic::ExternalPayment::Category::TaggedSymbol ) + EXTERNAL_FEDNOW = + T.let( + :EXTERNAL_FEDNOW, + Lithic::ExternalPayment::Category::TaggedSymbol + ) + EXTERNAL_RTP = + T.let(:EXTERNAL_RTP, Lithic::ExternalPayment::Category::TaggedSymbol) EXTERNAL_TRANSFER = T.let( :EXTERNAL_TRANSFER, @@ -465,6 +472,56 @@ module Lithic :EXTERNAL_CHECK_RELEASED, Lithic::ExternalPayment::Event::Type::TaggedSymbol ) + EXTERNAL_FEDNOW_INITIATED = + T.let( + :EXTERNAL_FEDNOW_INITIATED, + Lithic::ExternalPayment::Event::Type::TaggedSymbol + ) + EXTERNAL_FEDNOW_CANCELED = + T.let( + :EXTERNAL_FEDNOW_CANCELED, + Lithic::ExternalPayment::Event::Type::TaggedSymbol + ) + EXTERNAL_FEDNOW_SETTLED = + T.let( + :EXTERNAL_FEDNOW_SETTLED, + Lithic::ExternalPayment::Event::Type::TaggedSymbol + ) + EXTERNAL_FEDNOW_REVERSED = + T.let( + :EXTERNAL_FEDNOW_REVERSED, + Lithic::ExternalPayment::Event::Type::TaggedSymbol + ) + EXTERNAL_FEDNOW_RELEASED = + T.let( + :EXTERNAL_FEDNOW_RELEASED, + Lithic::ExternalPayment::Event::Type::TaggedSymbol + ) + EXTERNAL_RTP_INITIATED = + T.let( + :EXTERNAL_RTP_INITIATED, + Lithic::ExternalPayment::Event::Type::TaggedSymbol + ) + EXTERNAL_RTP_CANCELED = + T.let( + :EXTERNAL_RTP_CANCELED, + Lithic::ExternalPayment::Event::Type::TaggedSymbol + ) + EXTERNAL_RTP_SETTLED = + T.let( + :EXTERNAL_RTP_SETTLED, + Lithic::ExternalPayment::Event::Type::TaggedSymbol + ) + EXTERNAL_RTP_REVERSED = + T.let( + :EXTERNAL_RTP_REVERSED, + Lithic::ExternalPayment::Event::Type::TaggedSymbol + ) + EXTERNAL_RTP_RELEASED = + T.let( + :EXTERNAL_RTP_RELEASED, + Lithic::ExternalPayment::Event::Type::TaggedSymbol + ) sig do override.returns( diff --git a/rbi/lithic/models/external_payment_create_params.rbi b/rbi/lithic/models/external_payment_create_params.rbi index b1d7d130..74da87af 100644 --- a/rbi/lithic/models/external_payment_create_params.rbi +++ b/rbi/lithic/models/external_payment_create_params.rbi @@ -135,6 +135,16 @@ module Lithic :EXTERNAL_CHECK, Lithic::ExternalPaymentCreateParams::Category::TaggedSymbol ) + EXTERNAL_FEDNOW = + T.let( + :EXTERNAL_FEDNOW, + Lithic::ExternalPaymentCreateParams::Category::TaggedSymbol + ) + EXTERNAL_RTP = + T.let( + :EXTERNAL_RTP, + Lithic::ExternalPaymentCreateParams::Category::TaggedSymbol + ) EXTERNAL_TRANSFER = T.let( :EXTERNAL_TRANSFER, diff --git a/rbi/lithic/models/external_payment_list_params.rbi b/rbi/lithic/models/external_payment_list_params.rbi index a95ffcfd..31d99150 100644 --- a/rbi/lithic/models/external_payment_list_params.rbi +++ b/rbi/lithic/models/external_payment_list_params.rbi @@ -190,6 +190,16 @@ module Lithic :EXTERNAL_CHECK, Lithic::ExternalPaymentListParams::Category::TaggedSymbol ) + EXTERNAL_FEDNOW = + T.let( + :EXTERNAL_FEDNOW, + Lithic::ExternalPaymentListParams::Category::TaggedSymbol + ) + EXTERNAL_RTP = + T.let( + :EXTERNAL_RTP, + Lithic::ExternalPaymentListParams::Category::TaggedSymbol + ) EXTERNAL_TRANSFER = T.let( :EXTERNAL_TRANSFER, diff --git a/rbi/lithic/models/financial_account_balance.rbi b/rbi/lithic/models/financial_account_balance.rbi new file mode 100644 index 00000000..5af5c755 --- /dev/null +++ b/rbi/lithic/models/financial_account_balance.rbi @@ -0,0 +1,144 @@ +# typed: strong + +module Lithic + module Models + class FinancialAccountBalance < Lithic::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any(Lithic::FinancialAccountBalance, Lithic::Internal::AnyHash) + end + + # Globally unique identifier for the financial account that holds this balance. + sig { returns(String) } + attr_accessor :token + + # Funds available for spend in the currency's smallest unit (e.g., cents for USD) + sig { returns(Integer) } + attr_accessor :available_amount + + # Date and time for when the balance was first created. + sig { returns(Time) } + attr_accessor :created + + # 3-character alphabetic ISO 4217 code for the local currency of the balance. + sig { returns(String) } + attr_accessor :currency + + # Globally unique identifier for the last financial transaction event that + # impacted this balance. + sig { returns(String) } + attr_accessor :last_transaction_event_token + + # Globally unique identifier for the last financial transaction that impacted this + # balance. + sig { returns(String) } + attr_accessor :last_transaction_token + + # Funds not available for spend due to card authorizations or pending ACH release. + # Shown in the currency's smallest unit (e.g., cents for USD). + sig { returns(Integer) } + attr_accessor :pending_amount + + # The sum of available and pending balance in the currency's smallest unit (e.g., + # cents for USD). + sig { returns(Integer) } + attr_accessor :total_amount + + # Type of financial account. + sig { returns(Lithic::FinancialAccountBalance::Type::TaggedSymbol) } + attr_accessor :type + + # Date and time for when the balance was last updated. + sig { returns(Time) } + attr_accessor :updated + + # Balance of a Financial Account + sig do + params( + token: String, + available_amount: Integer, + created: Time, + currency: String, + last_transaction_event_token: String, + last_transaction_token: String, + pending_amount: Integer, + total_amount: Integer, + type: Lithic::FinancialAccountBalance::Type::OrSymbol, + updated: Time + ).returns(T.attached_class) + end + def self.new( + # Globally unique identifier for the financial account that holds this balance. + token:, + # Funds available for spend in the currency's smallest unit (e.g., cents for USD) + available_amount:, + # Date and time for when the balance was first created. + created:, + # 3-character alphabetic ISO 4217 code for the local currency of the balance. + currency:, + # Globally unique identifier for the last financial transaction event that + # impacted this balance. + last_transaction_event_token:, + # Globally unique identifier for the last financial transaction that impacted this + # balance. + last_transaction_token:, + # Funds not available for spend due to card authorizations or pending ACH release. + # Shown in the currency's smallest unit (e.g., cents for USD). + pending_amount:, + # The sum of available and pending balance in the currency's smallest unit (e.g., + # cents for USD). + total_amount:, + # Type of financial account. + type:, + # Date and time for when the balance was last updated. + updated: + ) + end + + sig do + override.returns( + { + token: String, + available_amount: Integer, + created: Time, + currency: String, + last_transaction_event_token: String, + last_transaction_token: String, + pending_amount: Integer, + total_amount: Integer, + type: Lithic::FinancialAccountBalance::Type::TaggedSymbol, + updated: Time + } + ) + end + def to_hash + end + + # Type of financial account. + module Type + extend Lithic::Internal::Type::Enum + + TaggedSymbol = + T.type_alias { T.all(Symbol, Lithic::FinancialAccountBalance::Type) } + OrSymbol = T.type_alias { T.any(Symbol, String) } + + ISSUING = + T.let(:ISSUING, Lithic::FinancialAccountBalance::Type::TaggedSymbol) + OPERATING = + T.let(:OPERATING, Lithic::FinancialAccountBalance::Type::TaggedSymbol) + RESERVE = + T.let(:RESERVE, Lithic::FinancialAccountBalance::Type::TaggedSymbol) + SECURITY = + T.let(:SECURITY, Lithic::FinancialAccountBalance::Type::TaggedSymbol) + + sig do + override.returns( + T::Array[Lithic::FinancialAccountBalance::Type::TaggedSymbol] + ) + end + def self.values + end + end + end + end +end diff --git a/rbi/lithic/models/financial_accounts/balance_list_response.rbi b/rbi/lithic/models/financial_accounts/balance_list_response.rbi deleted file mode 100644 index d0f01179..00000000 --- a/rbi/lithic/models/financial_accounts/balance_list_response.rbi +++ /dev/null @@ -1,174 +0,0 @@ -# typed: strong - -module Lithic - module Models - module FinancialAccounts - class BalanceListResponse < Lithic::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Lithic::Models::FinancialAccounts::BalanceListResponse, - Lithic::Internal::AnyHash - ) - end - - # Globally unique identifier for the financial account that holds this balance. - sig { returns(String) } - attr_accessor :token - - # Funds available for spend in the currency's smallest unit (e.g., cents for USD) - sig { returns(Integer) } - attr_accessor :available_amount - - # Date and time for when the balance was first created. - sig { returns(Time) } - attr_accessor :created - - # 3-character alphabetic ISO 4217 code for the local currency of the balance. - sig { returns(String) } - attr_accessor :currency - - # Globally unique identifier for the last financial transaction event that - # impacted this balance. - sig { returns(String) } - attr_accessor :last_transaction_event_token - - # Globally unique identifier for the last financial transaction that impacted this - # balance. - sig { returns(String) } - attr_accessor :last_transaction_token - - # Funds not available for spend due to card authorizations or pending ACH release. - # Shown in the currency's smallest unit (e.g., cents for USD). - sig { returns(Integer) } - attr_accessor :pending_amount - - # The sum of available and pending balance in the currency's smallest unit (e.g., - # cents for USD). - sig { returns(Integer) } - attr_accessor :total_amount - - # Type of financial account. - sig do - returns( - Lithic::Models::FinancialAccounts::BalanceListResponse::Type::TaggedSymbol - ) - end - attr_accessor :type - - # Date and time for when the balance was last updated. - sig { returns(Time) } - attr_accessor :updated - - # Balance of a Financial Account - sig do - params( - token: String, - available_amount: Integer, - created: Time, - currency: String, - last_transaction_event_token: String, - last_transaction_token: String, - pending_amount: Integer, - total_amount: Integer, - type: - Lithic::Models::FinancialAccounts::BalanceListResponse::Type::OrSymbol, - updated: Time - ).returns(T.attached_class) - end - def self.new( - # Globally unique identifier for the financial account that holds this balance. - token:, - # Funds available for spend in the currency's smallest unit (e.g., cents for USD) - available_amount:, - # Date and time for when the balance was first created. - created:, - # 3-character alphabetic ISO 4217 code for the local currency of the balance. - currency:, - # Globally unique identifier for the last financial transaction event that - # impacted this balance. - last_transaction_event_token:, - # Globally unique identifier for the last financial transaction that impacted this - # balance. - last_transaction_token:, - # Funds not available for spend due to card authorizations or pending ACH release. - # Shown in the currency's smallest unit (e.g., cents for USD). - pending_amount:, - # The sum of available and pending balance in the currency's smallest unit (e.g., - # cents for USD). - total_amount:, - # Type of financial account. - type:, - # Date and time for when the balance was last updated. - updated: - ) - end - - sig do - override.returns( - { - token: String, - available_amount: Integer, - created: Time, - currency: String, - last_transaction_event_token: String, - last_transaction_token: String, - pending_amount: Integer, - total_amount: Integer, - type: - Lithic::Models::FinancialAccounts::BalanceListResponse::Type::TaggedSymbol, - updated: Time - } - ) - end - def to_hash - end - - # Type of financial account. - module Type - extend Lithic::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Lithic::Models::FinancialAccounts::BalanceListResponse::Type - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - ISSUING = - T.let( - :ISSUING, - Lithic::Models::FinancialAccounts::BalanceListResponse::Type::TaggedSymbol - ) - OPERATING = - T.let( - :OPERATING, - Lithic::Models::FinancialAccounts::BalanceListResponse::Type::TaggedSymbol - ) - RESERVE = - T.let( - :RESERVE, - Lithic::Models::FinancialAccounts::BalanceListResponse::Type::TaggedSymbol - ) - SECURITY = - T.let( - :SECURITY, - Lithic::Models::FinancialAccounts::BalanceListResponse::Type::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Lithic::Models::FinancialAccounts::BalanceListResponse::Type::TaggedSymbol - ] - ) - end - def self.values - end - end - end - end - end -end diff --git a/rbi/lithic/models/financial_accounts/statement.rbi b/rbi/lithic/models/financial_accounts/statement.rbi index 2a999bb1..bfd67029 100644 --- a/rbi/lithic/models/financial_accounts/statement.rbi +++ b/rbi/lithic/models/financial_accounts/statement.rbi @@ -790,17 +790,17 @@ module Lithic attr_accessor :minimum_payment_total # Number of months to full pay off - sig { returns(Integer) } + sig { returns(T.nilable(Integer)) } attr_accessor :payoff_period_length_months # The amount needed to be paid, in cents, each month in order to pay off current # balance in the payoff period - sig { returns(Integer) } + sig { returns(T.nilable(Integer)) } attr_accessor :payoff_period_monthly_payment_amount # The sum of all interest and principal paid, in cents, when paying off in the # payoff period - sig { returns(Integer) } + sig { returns(T.nilable(Integer)) } attr_accessor :payoff_period_payment_total # Details on number and size of payments to pay off balance @@ -808,9 +808,9 @@ module Lithic params( minimum_payment_months: String, minimum_payment_total: String, - payoff_period_length_months: Integer, - payoff_period_monthly_payment_amount: Integer, - payoff_period_payment_total: Integer + payoff_period_length_months: T.nilable(Integer), + payoff_period_monthly_payment_amount: T.nilable(Integer), + payoff_period_payment_total: T.nilable(Integer) ).returns(T.attached_class) end def self.new( @@ -836,9 +836,9 @@ module Lithic { minimum_payment_months: String, minimum_payment_total: String, - payoff_period_length_months: Integer, - payoff_period_monthly_payment_amount: Integer, - payoff_period_payment_total: Integer + payoff_period_length_months: T.nilable(Integer), + payoff_period_monthly_payment_amount: T.nilable(Integer), + payoff_period_payment_total: T.nilable(Integer) } ) end diff --git a/rbi/lithic/models/financial_accounts/statements/statement_line_items.rbi b/rbi/lithic/models/financial_accounts/statements/statement_line_items.rbi index 4835abc4..424bd79b 100644 --- a/rbi/lithic/models/financial_accounts/statements/statement_line_items.rbi +++ b/rbi/lithic/models/financial_accounts/statements/statement_line_items.rbi @@ -251,6 +251,16 @@ module Lithic :EXTERNAL_CHECK, Lithic::FinancialAccounts::Statements::StatementLineItems::Data::Category::TaggedSymbol ) + EXTERNAL_FEDNOW = + T.let( + :EXTERNAL_FEDNOW, + Lithic::FinancialAccounts::Statements::StatementLineItems::Data::Category::TaggedSymbol + ) + EXTERNAL_RTP = + T.let( + :EXTERNAL_RTP, + Lithic::FinancialAccounts::Statements::StatementLineItems::Data::Category::TaggedSymbol + ) EXTERNAL_TRANSFER = T.let( :EXTERNAL_TRANSFER, @@ -530,6 +540,56 @@ module Lithic :EXTERNAL_CHECK_SETTLED, Lithic::FinancialAccounts::Statements::StatementLineItems::Data::EventType::TaggedSymbol ) + EXTERNAL_FEDNOW_CANCELED = + T.let( + :EXTERNAL_FEDNOW_CANCELED, + Lithic::FinancialAccounts::Statements::StatementLineItems::Data::EventType::TaggedSymbol + ) + EXTERNAL_FEDNOW_INITIATED = + T.let( + :EXTERNAL_FEDNOW_INITIATED, + Lithic::FinancialAccounts::Statements::StatementLineItems::Data::EventType::TaggedSymbol + ) + EXTERNAL_FEDNOW_RELEASED = + T.let( + :EXTERNAL_FEDNOW_RELEASED, + Lithic::FinancialAccounts::Statements::StatementLineItems::Data::EventType::TaggedSymbol + ) + EXTERNAL_FEDNOW_REVERSED = + T.let( + :EXTERNAL_FEDNOW_REVERSED, + Lithic::FinancialAccounts::Statements::StatementLineItems::Data::EventType::TaggedSymbol + ) + EXTERNAL_FEDNOW_SETTLED = + T.let( + :EXTERNAL_FEDNOW_SETTLED, + Lithic::FinancialAccounts::Statements::StatementLineItems::Data::EventType::TaggedSymbol + ) + EXTERNAL_RTP_CANCELED = + T.let( + :EXTERNAL_RTP_CANCELED, + Lithic::FinancialAccounts::Statements::StatementLineItems::Data::EventType::TaggedSymbol + ) + EXTERNAL_RTP_INITIATED = + T.let( + :EXTERNAL_RTP_INITIATED, + Lithic::FinancialAccounts::Statements::StatementLineItems::Data::EventType::TaggedSymbol + ) + EXTERNAL_RTP_RELEASED = + T.let( + :EXTERNAL_RTP_RELEASED, + Lithic::FinancialAccounts::Statements::StatementLineItems::Data::EventType::TaggedSymbol + ) + EXTERNAL_RTP_REVERSED = + T.let( + :EXTERNAL_RTP_REVERSED, + Lithic::FinancialAccounts::Statements::StatementLineItems::Data::EventType::TaggedSymbol + ) + EXTERNAL_RTP_SETTLED = + T.let( + :EXTERNAL_RTP_SETTLED, + Lithic::FinancialAccounts::Statements::StatementLineItems::Data::EventType::TaggedSymbol + ) EXTERNAL_TRANSFER_CANCELED = T.let( :EXTERNAL_TRANSFER_CANCELED, @@ -670,6 +730,36 @@ module Lithic :LITHIC_NETWORK_PAYMENT, Lithic::FinancialAccounts::Statements::StatementLineItems::Data::EventType::TaggedSymbol ) + ANNUAL = + T.let( + :ANNUAL, + Lithic::FinancialAccounts::Statements::StatementLineItems::Data::EventType::TaggedSymbol + ) + ANNUAL_REVERSAL = + T.let( + :ANNUAL_REVERSAL, + Lithic::FinancialAccounts::Statements::StatementLineItems::Data::EventType::TaggedSymbol + ) + QUARTERLY = + T.let( + :QUARTERLY, + Lithic::FinancialAccounts::Statements::StatementLineItems::Data::EventType::TaggedSymbol + ) + QUARTERLY_REVERSAL = + T.let( + :QUARTERLY_REVERSAL, + Lithic::FinancialAccounts::Statements::StatementLineItems::Data::EventType::TaggedSymbol + ) + MONTHLY = + T.let( + :MONTHLY, + Lithic::FinancialAccounts::Statements::StatementLineItems::Data::EventType::TaggedSymbol + ) + MONTHLY_REVERSAL = + T.let( + :MONTHLY_REVERSAL, + Lithic::FinancialAccounts::Statements::StatementLineItems::Data::EventType::TaggedSymbol + ) sig do override.returns( diff --git a/rbi/lithic/models/financial_event.rbi b/rbi/lithic/models/financial_event.rbi index a9bbdc61..5209dd13 100644 --- a/rbi/lithic/models/financial_event.rbi +++ b/rbi/lithic/models/financial_event.rbi @@ -291,6 +291,56 @@ module Lithic :EXTERNAL_CHECK_SETTLED, Lithic::FinancialEvent::Type::TaggedSymbol ) + EXTERNAL_FEDNOW_CANCELED = + T.let( + :EXTERNAL_FEDNOW_CANCELED, + Lithic::FinancialEvent::Type::TaggedSymbol + ) + EXTERNAL_FEDNOW_INITIATED = + T.let( + :EXTERNAL_FEDNOW_INITIATED, + Lithic::FinancialEvent::Type::TaggedSymbol + ) + EXTERNAL_FEDNOW_RELEASED = + T.let( + :EXTERNAL_FEDNOW_RELEASED, + Lithic::FinancialEvent::Type::TaggedSymbol + ) + EXTERNAL_FEDNOW_REVERSED = + T.let( + :EXTERNAL_FEDNOW_REVERSED, + Lithic::FinancialEvent::Type::TaggedSymbol + ) + EXTERNAL_FEDNOW_SETTLED = + T.let( + :EXTERNAL_FEDNOW_SETTLED, + Lithic::FinancialEvent::Type::TaggedSymbol + ) + EXTERNAL_RTP_CANCELED = + T.let( + :EXTERNAL_RTP_CANCELED, + Lithic::FinancialEvent::Type::TaggedSymbol + ) + EXTERNAL_RTP_INITIATED = + T.let( + :EXTERNAL_RTP_INITIATED, + Lithic::FinancialEvent::Type::TaggedSymbol + ) + EXTERNAL_RTP_RELEASED = + T.let( + :EXTERNAL_RTP_RELEASED, + Lithic::FinancialEvent::Type::TaggedSymbol + ) + EXTERNAL_RTP_REVERSED = + T.let( + :EXTERNAL_RTP_REVERSED, + Lithic::FinancialEvent::Type::TaggedSymbol + ) + EXTERNAL_RTP_SETTLED = + T.let( + :EXTERNAL_RTP_SETTLED, + Lithic::FinancialEvent::Type::TaggedSymbol + ) EXTERNAL_TRANSFER_CANCELED = T.let( :EXTERNAL_TRANSFER_CANCELED, @@ -397,6 +447,16 @@ module Lithic :LITHIC_NETWORK_PAYMENT, Lithic::FinancialEvent::Type::TaggedSymbol ) + ANNUAL = T.let(:ANNUAL, Lithic::FinancialEvent::Type::TaggedSymbol) + ANNUAL_REVERSAL = + T.let(:ANNUAL_REVERSAL, Lithic::FinancialEvent::Type::TaggedSymbol) + QUARTERLY = + T.let(:QUARTERLY, Lithic::FinancialEvent::Type::TaggedSymbol) + QUARTERLY_REVERSAL = + T.let(:QUARTERLY_REVERSAL, Lithic::FinancialEvent::Type::TaggedSymbol) + MONTHLY = T.let(:MONTHLY, Lithic::FinancialEvent::Type::TaggedSymbol) + MONTHLY_REVERSAL = + T.let(:MONTHLY_REVERSAL, Lithic::FinancialEvent::Type::TaggedSymbol) sig do override.returns(T::Array[Lithic::FinancialEvent::Type::TaggedSymbol]) diff --git a/rbi/lithic/models/funding_event_list_response.rbi b/rbi/lithic/models/funding_event.rbi similarity index 71% rename from rbi/lithic/models/funding_event_list_response.rbi rename to rbi/lithic/models/funding_event.rbi index a1b11afc..0203b4a6 100644 --- a/rbi/lithic/models/funding_event_list_response.rbi +++ b/rbi/lithic/models/funding_event.rbi @@ -2,14 +2,9 @@ module Lithic module Models - class FundingEventListResponse < Lithic::Internal::Type::BaseModel + class FundingEvent < Lithic::Internal::Type::BaseModel OrHash = - T.type_alias do - T.any( - Lithic::Models::FundingEventListResponse, - Lithic::Internal::AnyHash - ) - end + T.type_alias { T.any(Lithic::FundingEvent, Lithic::Internal::AnyHash) } # Unique token ID sig { returns(String) } @@ -17,9 +12,7 @@ module Lithic # Collection resource type sig do - returns( - Lithic::Models::FundingEventListResponse::CollectionResourceType::TaggedSymbol - ) + returns(Lithic::FundingEvent::CollectionResourceType::TaggedSymbol) end attr_accessor :collection_resource_type @@ -37,13 +30,7 @@ module Lithic attr_accessor :high_watermark # Network settlement summary breakdown by network settlement date - sig do - returns( - T::Array[ - Lithic::Models::FundingEventListResponse::NetworkSettlementSummary - ] - ) - end + sig { returns(T::Array[Lithic::FundingEvent::NetworkSettlementSummary]) } attr_accessor :network_settlement_summary # Time of the previous high watermark @@ -58,14 +45,12 @@ module Lithic params( token: String, collection_resource_type: - Lithic::Models::FundingEventListResponse::CollectionResourceType::OrSymbol, + Lithic::FundingEvent::CollectionResourceType::OrSymbol, collection_tokens: T::Array[String], created: Time, high_watermark: Time, network_settlement_summary: - T::Array[ - Lithic::Models::FundingEventListResponse::NetworkSettlementSummary::OrHash - ], + T::Array[Lithic::FundingEvent::NetworkSettlementSummary::OrHash], previous_high_watermark: Time, updated: Time ).returns(T.attached_class) @@ -96,14 +81,12 @@ module Lithic { token: String, collection_resource_type: - Lithic::Models::FundingEventListResponse::CollectionResourceType::TaggedSymbol, + Lithic::FundingEvent::CollectionResourceType::TaggedSymbol, collection_tokens: T::Array[String], created: Time, high_watermark: Time, network_settlement_summary: - T::Array[ - Lithic::Models::FundingEventListResponse::NetworkSettlementSummary - ], + T::Array[Lithic::FundingEvent::NetworkSettlementSummary], previous_high_watermark: Time, updated: Time } @@ -118,29 +101,24 @@ module Lithic TaggedSymbol = T.type_alias do - T.all( - Symbol, - Lithic::Models::FundingEventListResponse::CollectionResourceType - ) + T.all(Symbol, Lithic::FundingEvent::CollectionResourceType) end OrSymbol = T.type_alias { T.any(Symbol, String) } BOOK_TRANSFER = T.let( :BOOK_TRANSFER, - Lithic::Models::FundingEventListResponse::CollectionResourceType::TaggedSymbol + Lithic::FundingEvent::CollectionResourceType::TaggedSymbol ) PAYMENT = T.let( :PAYMENT, - Lithic::Models::FundingEventListResponse::CollectionResourceType::TaggedSymbol + Lithic::FundingEvent::CollectionResourceType::TaggedSymbol ) sig do override.returns( - T::Array[ - Lithic::Models::FundingEventListResponse::CollectionResourceType::TaggedSymbol - ] + T::Array[Lithic::FundingEvent::CollectionResourceType::TaggedSymbol] ) end def self.values @@ -151,7 +129,7 @@ module Lithic OrHash = T.type_alias do T.any( - Lithic::Models::FundingEventListResponse::NetworkSettlementSummary, + Lithic::FundingEvent::NetworkSettlementSummary, Lithic::Internal::AnyHash ) end diff --git a/rbi/lithic/models/funding_event_retrieve_response.rbi b/rbi/lithic/models/funding_event_retrieve_response.rbi deleted file mode 100644 index 1ce435dc..00000000 --- a/rbi/lithic/models/funding_event_retrieve_response.rbi +++ /dev/null @@ -1,184 +0,0 @@ -# typed: strong - -module Lithic - module Models - class FundingEventRetrieveResponse < Lithic::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Lithic::Models::FundingEventRetrieveResponse, - Lithic::Internal::AnyHash - ) - end - - # Unique token ID - sig { returns(String) } - attr_accessor :token - - # Collection resource type - sig do - returns( - Lithic::Models::FundingEventRetrieveResponse::CollectionResourceType::TaggedSymbol - ) - end - attr_accessor :collection_resource_type - - # IDs of collections, further information can be gathered from the appropriate - # collection API based on collection_resource_type - sig { returns(T::Array[String]) } - attr_accessor :collection_tokens - - # Time of the creation - sig { returns(Time) } - attr_accessor :created - - # Time of the high watermark - sig { returns(Time) } - attr_accessor :high_watermark - - # Network settlement summary breakdown by network settlement date - sig do - returns( - T::Array[ - Lithic::Models::FundingEventRetrieveResponse::NetworkSettlementSummary - ] - ) - end - attr_accessor :network_settlement_summary - - # Time of the previous high watermark - sig { returns(Time) } - attr_accessor :previous_high_watermark - - # Time of the update - sig { returns(Time) } - attr_accessor :updated - - sig do - params( - token: String, - collection_resource_type: - Lithic::Models::FundingEventRetrieveResponse::CollectionResourceType::OrSymbol, - collection_tokens: T::Array[String], - created: Time, - high_watermark: Time, - network_settlement_summary: - T::Array[ - Lithic::Models::FundingEventRetrieveResponse::NetworkSettlementSummary::OrHash - ], - previous_high_watermark: Time, - updated: Time - ).returns(T.attached_class) - end - def self.new( - # Unique token ID - token:, - # Collection resource type - collection_resource_type:, - # IDs of collections, further information can be gathered from the appropriate - # collection API based on collection_resource_type - collection_tokens:, - # Time of the creation - created:, - # Time of the high watermark - high_watermark:, - # Network settlement summary breakdown by network settlement date - network_settlement_summary:, - # Time of the previous high watermark - previous_high_watermark:, - # Time of the update - updated: - ) - end - - sig do - override.returns( - { - token: String, - collection_resource_type: - Lithic::Models::FundingEventRetrieveResponse::CollectionResourceType::TaggedSymbol, - collection_tokens: T::Array[String], - created: Time, - high_watermark: Time, - network_settlement_summary: - T::Array[ - Lithic::Models::FundingEventRetrieveResponse::NetworkSettlementSummary - ], - previous_high_watermark: Time, - updated: Time - } - ) - end - def to_hash - end - - # Collection resource type - module CollectionResourceType - extend Lithic::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Lithic::Models::FundingEventRetrieveResponse::CollectionResourceType - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - BOOK_TRANSFER = - T.let( - :BOOK_TRANSFER, - Lithic::Models::FundingEventRetrieveResponse::CollectionResourceType::TaggedSymbol - ) - PAYMENT = - T.let( - :PAYMENT, - Lithic::Models::FundingEventRetrieveResponse::CollectionResourceType::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Lithic::Models::FundingEventRetrieveResponse::CollectionResourceType::TaggedSymbol - ] - ) - end - def self.values - end - end - - class NetworkSettlementSummary < Lithic::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Lithic::Models::FundingEventRetrieveResponse::NetworkSettlementSummary, - Lithic::Internal::AnyHash - ) - end - - sig { returns(Date) } - attr_accessor :network_settlement_date - - sig { returns(Integer) } - attr_accessor :settled_gross_amount - - sig do - params( - network_settlement_date: Date, - settled_gross_amount: Integer - ).returns(T.attached_class) - end - def self.new(network_settlement_date:, settled_gross_amount:) - end - - sig do - override.returns( - { network_settlement_date: Date, settled_gross_amount: Integer } - ) - end - def to_hash - end - end - end - end -end diff --git a/rbi/lithic/models/internal_transaction.rbi b/rbi/lithic/models/internal_transaction.rbi new file mode 100644 index 00000000..1fa282f5 --- /dev/null +++ b/rbi/lithic/models/internal_transaction.rbi @@ -0,0 +1,277 @@ +# typed: strong + +module Lithic + module Models + class InternalTransactionAPI < Lithic::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any(Lithic::InternalTransactionAPI, Lithic::Internal::AnyHash) + end + + sig { returns(String) } + attr_accessor :token + + sig { returns(Lithic::InternalTransactionAPI::Category::OrSymbol) } + attr_accessor :category + + sig { returns(Time) } + attr_accessor :created + + sig { returns(String) } + attr_accessor :currency + + sig { returns(String) } + attr_accessor :descriptor + + sig { returns(T::Array[Lithic::InternalTransactionAPI::Event]) } + attr_accessor :events + + sig { returns(Integer) } + attr_accessor :pending_amount + + sig { returns(Lithic::InternalTransactionAPI::Result::OrSymbol) } + attr_accessor :result + + sig { returns(Integer) } + attr_accessor :settled_amount + + sig { returns(Lithic::InternalTransactionAPI::Status::OrSymbol) } + attr_accessor :status + + sig { returns(Time) } + attr_accessor :updated + + sig do + params( + token: String, + category: Lithic::InternalTransactionAPI::Category::OrSymbol, + created: Time, + currency: String, + descriptor: String, + events: T::Array[Lithic::InternalTransactionAPI::Event::OrHash], + pending_amount: Integer, + result: Lithic::InternalTransactionAPI::Result::OrSymbol, + settled_amount: Integer, + status: Lithic::InternalTransactionAPI::Status::OrSymbol, + updated: Time + ).returns(T.attached_class) + end + def self.new( + token:, + category:, + created:, + currency:, + descriptor:, + events:, + pending_amount:, + result:, + settled_amount:, + status:, + updated: + ) + end + + sig do + override.returns( + { + token: String, + category: Lithic::InternalTransactionAPI::Category::OrSymbol, + created: Time, + currency: String, + descriptor: String, + events: T::Array[Lithic::InternalTransactionAPI::Event], + pending_amount: Integer, + result: Lithic::InternalTransactionAPI::Result::OrSymbol, + settled_amount: Integer, + status: Lithic::InternalTransactionAPI::Status::OrSymbol, + updated: Time + } + ) + end + def to_hash + end + + module Category + extend Lithic::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all(Symbol, Lithic::InternalTransactionAPI::Category) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + INTERNAL = + T.let( + :INTERNAL, + Lithic::InternalTransactionAPI::Category::TaggedSymbol + ) + + sig do + override.returns( + T::Array[Lithic::InternalTransactionAPI::Category::TaggedSymbol] + ) + end + def self.values + end + end + + class Event < Lithic::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Lithic::InternalTransactionAPI::Event, + Lithic::Internal::AnyHash + ) + end + + sig { returns(String) } + attr_accessor :token + + sig { returns(Integer) } + attr_accessor :amount + + sig { returns(Time) } + attr_accessor :created + + sig { returns(Lithic::InternalTransactionAPI::Event::Result::OrSymbol) } + attr_accessor :result + + sig { returns(Lithic::InternalTransactionAPI::Event::Type::OrSymbol) } + attr_accessor :type + + sig do + params( + token: String, + amount: Integer, + created: Time, + result: Lithic::InternalTransactionAPI::Event::Result::OrSymbol, + type: Lithic::InternalTransactionAPI::Event::Type::OrSymbol + ).returns(T.attached_class) + end + def self.new(token:, amount:, created:, result:, type:) + end + + sig do + override.returns( + { + token: String, + amount: Integer, + created: Time, + result: Lithic::InternalTransactionAPI::Event::Result::OrSymbol, + type: Lithic::InternalTransactionAPI::Event::Type::OrSymbol + } + ) + end + def to_hash + end + + module Result + extend Lithic::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all(Symbol, Lithic::InternalTransactionAPI::Event::Result) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + APPROVED = + T.let( + :APPROVED, + Lithic::InternalTransactionAPI::Event::Result::TaggedSymbol + ) + DECLINED = + T.let( + :DECLINED, + Lithic::InternalTransactionAPI::Event::Result::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Lithic::InternalTransactionAPI::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::InternalTransactionAPI::Event::Type) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + INTERNAL_ADJUSTMENT = + T.let( + :INTERNAL_ADJUSTMENT, + Lithic::InternalTransactionAPI::Event::Type::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Lithic::InternalTransactionAPI::Event::Type::TaggedSymbol + ] + ) + end + def self.values + end + end + end + + module Result + extend Lithic::Internal::Type::Enum + + TaggedSymbol = + T.type_alias { T.all(Symbol, Lithic::InternalTransactionAPI::Result) } + OrSymbol = T.type_alias { T.any(Symbol, String) } + + APPROVED = + T.let(:APPROVED, Lithic::InternalTransactionAPI::Result::TaggedSymbol) + DECLINED = + T.let(:DECLINED, Lithic::InternalTransactionAPI::Result::TaggedSymbol) + + sig do + override.returns( + T::Array[Lithic::InternalTransactionAPI::Result::TaggedSymbol] + ) + end + def self.values + end + end + + module Status + extend Lithic::Internal::Type::Enum + + TaggedSymbol = + T.type_alias { T.all(Symbol, Lithic::InternalTransactionAPI::Status) } + OrSymbol = T.type_alias { T.any(Symbol, String) } + + PENDING = + T.let(:PENDING, Lithic::InternalTransactionAPI::Status::TaggedSymbol) + SETTLED = + T.let(:SETTLED, Lithic::InternalTransactionAPI::Status::TaggedSymbol) + DECLINED = + T.let(:DECLINED, Lithic::InternalTransactionAPI::Status::TaggedSymbol) + REVERSED = + T.let(:REVERSED, Lithic::InternalTransactionAPI::Status::TaggedSymbol) + CANCELED = + T.let(:CANCELED, Lithic::InternalTransactionAPI::Status::TaggedSymbol) + RETURNED = + T.let(:RETURNED, Lithic::InternalTransactionAPI::Status::TaggedSymbol) + + sig do + override.returns( + T::Array[Lithic::InternalTransactionAPI::Status::TaggedSymbol] + ) + end + def self.values + end + end + end + end +end diff --git a/rbi/lithic/models/management_operation_create_params.rbi b/rbi/lithic/models/management_operation_create_params.rbi index e9c39521..20a3360b 100644 --- a/rbi/lithic/models/management_operation_create_params.rbi +++ b/rbi/lithic/models/management_operation_create_params.rbi @@ -322,6 +322,36 @@ module Lithic :DISBURSE_REVERSAL, Lithic::ManagementOperationCreateParams::EventType::TaggedSymbol ) + ANNUAL = + T.let( + :ANNUAL, + Lithic::ManagementOperationCreateParams::EventType::TaggedSymbol + ) + ANNUAL_REVERSAL = + T.let( + :ANNUAL_REVERSAL, + Lithic::ManagementOperationCreateParams::EventType::TaggedSymbol + ) + QUARTERLY = + T.let( + :QUARTERLY, + Lithic::ManagementOperationCreateParams::EventType::TaggedSymbol + ) + QUARTERLY_REVERSAL = + T.let( + :QUARTERLY_REVERSAL, + Lithic::ManagementOperationCreateParams::EventType::TaggedSymbol + ) + MONTHLY = + T.let( + :MONTHLY, + Lithic::ManagementOperationCreateParams::EventType::TaggedSymbol + ) + MONTHLY_REVERSAL = + T.let( + :MONTHLY_REVERSAL, + Lithic::ManagementOperationCreateParams::EventType::TaggedSymbol + ) sig do override.returns( diff --git a/rbi/lithic/models/management_operation_transaction.rbi b/rbi/lithic/models/management_operation_transaction.rbi index 57de7ee8..5d798ea8 100644 --- a/rbi/lithic/models/management_operation_transaction.rbi +++ b/rbi/lithic/models/management_operation_transaction.rbi @@ -652,6 +652,36 @@ module Lithic :DISBURSE_REVERSAL, Lithic::ManagementOperationTransaction::Event::Type::TaggedSymbol ) + ANNUAL = + T.let( + :ANNUAL, + Lithic::ManagementOperationTransaction::Event::Type::TaggedSymbol + ) + ANNUAL_REVERSAL = + T.let( + :ANNUAL_REVERSAL, + Lithic::ManagementOperationTransaction::Event::Type::TaggedSymbol + ) + QUARTERLY = + T.let( + :QUARTERLY, + Lithic::ManagementOperationTransaction::Event::Type::TaggedSymbol + ) + QUARTERLY_REVERSAL = + T.let( + :QUARTERLY_REVERSAL, + Lithic::ManagementOperationTransaction::Event::Type::TaggedSymbol + ) + MONTHLY = + T.let( + :MONTHLY, + Lithic::ManagementOperationTransaction::Event::Type::TaggedSymbol + ) + MONTHLY_REVERSAL = + T.let( + :MONTHLY_REVERSAL, + Lithic::ManagementOperationTransaction::Event::Type::TaggedSymbol + ) sig do override.returns( diff --git a/rbi/lithic/models/network_total.rbi b/rbi/lithic/models/network_total.rbi new file mode 100644 index 00000000..220b6c9d --- /dev/null +++ b/rbi/lithic/models/network_total.rbi @@ -0,0 +1,226 @@ +# typed: strong + +module Lithic + module Models + class NetworkTotal < Lithic::Internal::Type::BaseModel + OrHash = + T.type_alias { T.any(Lithic::NetworkTotal, Lithic::Internal::AnyHash) } + + # Globally unique identifier. + sig { returns(String) } + attr_accessor :token + + sig { returns(Lithic::NetworkTotal::Amounts) } + attr_reader :amounts + + sig { params(amounts: Lithic::NetworkTotal::Amounts::OrHash).void } + attr_writer :amounts + + # RFC 3339 timestamp for when the record was created. UTC time zone. + sig { returns(Time) } + attr_accessor :created + + # 3-character alphabetic ISO 4217 code. + sig { returns(String) } + attr_accessor :currency + + # The institution that activity occurred on. For Mastercard: ICA (Interbank Card + # Association). For Maestro: institution ID. For Visa: lowest level SRE + # (Settlement Reporting Entity). + sig { returns(String) } + attr_accessor :institution_id + + # Indicates that all settlement records related to this Network Total are + # available in the details endpoint. + sig { returns(T::Boolean) } + attr_accessor :is_complete + + # Card network where the transaction took place. AMEX, VISA, MASTERCARD, MAESTRO, + # or INTERLINK. + sig { returns(Lithic::NetworkTotal::Network::TaggedSymbol) } + attr_accessor :network + + # Date that the network total record applies to. YYYY-MM-DD format. + sig { returns(Date) } + attr_accessor :report_date + + # The institution responsible for settlement. For Mastercard: same as + # `institution_id`. For Maestro: billing ICA. For Visa: Funds Transfer SRE + # (FTSRE). + sig { returns(String) } + attr_accessor :settlement_institution_id + + # Settlement service. + sig { returns(String) } + attr_accessor :settlement_service + + # RFC 3339 timestamp for when the record was last updated. UTC time zone. + sig { returns(Time) } + attr_accessor :updated + + # The clearing cycle that the network total record applies to. Mastercard only. + sig { returns(T.nilable(Integer)) } + attr_reader :cycle + + sig { params(cycle: Integer).void } + attr_writer :cycle + + sig do + params( + token: String, + amounts: Lithic::NetworkTotal::Amounts::OrHash, + created: Time, + currency: String, + institution_id: String, + is_complete: T::Boolean, + network: Lithic::NetworkTotal::Network::OrSymbol, + report_date: Date, + settlement_institution_id: String, + settlement_service: String, + updated: Time, + cycle: Integer + ).returns(T.attached_class) + end + def self.new( + # Globally unique identifier. + token:, + amounts:, + # RFC 3339 timestamp for when the record was created. UTC time zone. + created:, + # 3-character alphabetic ISO 4217 code. + currency:, + # The institution that activity occurred on. For Mastercard: ICA (Interbank Card + # Association). For Maestro: institution ID. For Visa: lowest level SRE + # (Settlement Reporting Entity). + institution_id:, + # Indicates that all settlement records related to this Network Total are + # available in the details endpoint. + is_complete:, + # Card network where the transaction took place. AMEX, VISA, MASTERCARD, MAESTRO, + # or INTERLINK. + network:, + # Date that the network total record applies to. YYYY-MM-DD format. + report_date:, + # The institution responsible for settlement. For Mastercard: same as + # `institution_id`. For Maestro: billing ICA. For Visa: Funds Transfer SRE + # (FTSRE). + settlement_institution_id:, + # Settlement service. + settlement_service:, + # RFC 3339 timestamp for when the record was last updated. UTC time zone. + updated:, + # The clearing cycle that the network total record applies to. Mastercard only. + cycle: nil + ) + end + + sig do + override.returns( + { + token: String, + amounts: Lithic::NetworkTotal::Amounts, + created: Time, + currency: String, + institution_id: String, + is_complete: T::Boolean, + network: Lithic::NetworkTotal::Network::TaggedSymbol, + report_date: Date, + settlement_institution_id: String, + settlement_service: String, + updated: Time, + cycle: Integer + } + ) + end + def to_hash + end + + class Amounts < Lithic::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any(Lithic::NetworkTotal::Amounts, Lithic::Internal::AnyHash) + end + + # Total settlement amount excluding interchange, in currency's smallest unit. + sig { returns(Integer) } + attr_accessor :gross_settlement + + # Interchange amount, in currency's smallest unit. + sig { returns(Integer) } + attr_accessor :interchange_fees + + # `gross_settlement` net of `interchange_fees` and `visa_charges` (if applicable), + # in currency's smallest unit. + sig { returns(Integer) } + attr_accessor :net_settlement + + # Charges specific to Visa/Interlink, in currency's smallest unit. + sig { returns(T.nilable(Integer)) } + attr_reader :visa_charges + + sig { params(visa_charges: Integer).void } + attr_writer :visa_charges + + sig do + params( + gross_settlement: Integer, + interchange_fees: Integer, + net_settlement: Integer, + visa_charges: Integer + ).returns(T.attached_class) + end + def self.new( + # Total settlement amount excluding interchange, in currency's smallest unit. + gross_settlement:, + # Interchange amount, in currency's smallest unit. + interchange_fees:, + # `gross_settlement` net of `interchange_fees` and `visa_charges` (if applicable), + # in currency's smallest unit. + net_settlement:, + # Charges specific to Visa/Interlink, in currency's smallest unit. + visa_charges: nil + ) + end + + sig do + override.returns( + { + gross_settlement: Integer, + interchange_fees: Integer, + net_settlement: Integer, + visa_charges: Integer + } + ) + end + def to_hash + end + end + + # Card network where the transaction took place. AMEX, VISA, MASTERCARD, MAESTRO, + # or INTERLINK. + module Network + extend Lithic::Internal::Type::Enum + + TaggedSymbol = + T.type_alias { T.all(Symbol, Lithic::NetworkTotal::Network) } + OrSymbol = T.type_alias { T.any(Symbol, String) } + + AMEX = T.let(:AMEX, Lithic::NetworkTotal::Network::TaggedSymbol) + VISA = T.let(:VISA, Lithic::NetworkTotal::Network::TaggedSymbol) + MASTERCARD = + T.let(:MASTERCARD, Lithic::NetworkTotal::Network::TaggedSymbol) + MAESTRO = T.let(:MAESTRO, Lithic::NetworkTotal::Network::TaggedSymbol) + INTERLINK = + T.let(:INTERLINK, Lithic::NetworkTotal::Network::TaggedSymbol) + + sig do + override.returns( + T::Array[Lithic::NetworkTotal::Network::TaggedSymbol] + ) + end + def self.values + end + end + end + end +end diff --git a/rbi/lithic/models/non_pci_card.rbi b/rbi/lithic/models/non_pci_card.rbi index ca3cad98..3a77e87e 100644 --- a/rbi/lithic/models/non_pci_card.rbi +++ b/rbi/lithic/models/non_pci_card.rbi @@ -99,6 +99,11 @@ module Lithic sig { params(auth_rule_tokens: T::Array[String]).void } attr_writer :auth_rule_tokens + # Globally unique identifier for the bulk order associated with this card. Only + # applicable to physical cards that are part of a bulk shipment + sig { returns(T.nilable(String)) } + attr_accessor :bulk_order_token + # 3-character alphabetic ISO 4217 code for the currency of the cardholder. sig { returns(T.nilable(String)) } attr_reader :cardholder_currency @@ -220,6 +225,7 @@ module Lithic state: Lithic::NonPCICard::State::OrSymbol, type: Lithic::NonPCICard::Type::OrSymbol, auth_rule_tokens: T::Array[String], + bulk_order_token: T.nilable(String), cardholder_currency: String, comment: String, digital_card_art_token: String, @@ -298,6 +304,9 @@ module Lithic # key will be removed from the schema in a future release. Use the `/auth_rules` # endpoints to fetch Auth Rule information instead. auth_rule_tokens: nil, + # Globally unique identifier for the bulk order associated with this card. Only + # applicable to physical cards that are part of a bulk shipment + bulk_order_token: nil, # 3-character alphabetic ISO 4217 code for the currency of the cardholder. cardholder_currency: nil, # Additional context or information related to the card. @@ -368,6 +377,7 @@ module Lithic state: Lithic::NonPCICard::State::TaggedSymbol, type: Lithic::NonPCICard::Type::TaggedSymbol, auth_rule_tokens: T::Array[String], + bulk_order_token: T.nilable(String), cardholder_currency: String, comment: String, digital_card_art_token: String, diff --git a/rbi/lithic/models/payment.rbi b/rbi/lithic/models/payment.rbi index adad3b3f..0c7f33bf 100644 --- a/rbi/lithic/models/payment.rbi +++ b/rbi/lithic/models/payment.rbi @@ -239,6 +239,10 @@ module Lithic T.let(:EXTERNAL_ACH, Lithic::Payment::Category::TaggedSymbol) EXTERNAL_CHECK = T.let(:EXTERNAL_CHECK, Lithic::Payment::Category::TaggedSymbol) + EXTERNAL_FEDNOW = + T.let(:EXTERNAL_FEDNOW, Lithic::Payment::Category::TaggedSymbol) + EXTERNAL_RTP = + T.let(:EXTERNAL_RTP, Lithic::Payment::Category::TaggedSymbol) EXTERNAL_TRANSFER = T.let(:EXTERNAL_TRANSFER, Lithic::Payment::Category::TaggedSymbol) EXTERNAL_WIRE = @@ -660,6 +664,10 @@ module Lithic end attr_accessor :sec_code + # Number of days the ACH transaction is on hold + sig { returns(T.nilable(Integer)) } + attr_accessor :ach_hold_period + # Addenda information sig { returns(T.nilable(String)) } attr_accessor :addenda @@ -691,6 +699,7 @@ module Lithic params( sec_code: Lithic::Payment::MethodAttributes::ACHMethodAttributes::SecCode::OrSymbol, + ach_hold_period: T.nilable(Integer), addenda: T.nilable(String), company_id: T.nilable(String), receipt_routing_number: T.nilable(String), @@ -702,6 +711,8 @@ module Lithic def self.new( # SEC code for ACH transaction sec_code:, + # Number of days the ACH transaction is on hold + ach_hold_period: nil, # Addenda information addenda: nil, # Company ID for the ACH transaction @@ -722,6 +733,7 @@ module Lithic { sec_code: Lithic::Payment::MethodAttributes::ACHMethodAttributes::SecCode::TaggedSymbol, + ach_hold_period: T.nilable(Integer), addenda: T.nilable(String), company_id: T.nilable(String), receipt_routing_number: T.nilable(String), diff --git a/rbi/lithic/models/payment_create_params.rbi b/rbi/lithic/models/payment_create_params.rbi index 5638e661..6ea918d5 100644 --- a/rbi/lithic/models/payment_create_params.rbi +++ b/rbi/lithic/models/payment_create_params.rbi @@ -150,6 +150,13 @@ module Lithic end attr_accessor :sec_code + # Number of days to hold the ACH payment + sig { returns(T.nilable(Integer)) } + attr_reader :ach_hold_period + + sig { params(ach_hold_period: Integer).void } + attr_writer :ach_hold_period + sig { returns(T.nilable(String)) } attr_accessor :addenda @@ -157,10 +164,16 @@ module Lithic params( sec_code: Lithic::PaymentCreateParams::MethodAttributes::SecCode::OrSymbol, + ach_hold_period: Integer, addenda: T.nilable(String) ).returns(T.attached_class) end - def self.new(sec_code:, addenda: nil) + def self.new( + sec_code:, + # Number of days to hold the ACH payment + ach_hold_period: nil, + addenda: nil + ) end sig do @@ -168,6 +181,7 @@ module Lithic { sec_code: Lithic::PaymentCreateParams::MethodAttributes::SecCode::OrSymbol, + ach_hold_period: Integer, addenda: T.nilable(String) } ) diff --git a/rbi/lithic/models/reports/settlement/network_total_list_response.rbi b/rbi/lithic/models/reports/settlement/network_total_list_response.rbi deleted file mode 100644 index 9401a907..00000000 --- a/rbi/lithic/models/reports/settlement/network_total_list_response.rbi +++ /dev/null @@ -1,280 +0,0 @@ -# typed: strong - -module Lithic - module Models - module Reports - module Settlement - class NetworkTotalListResponse < Lithic::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Lithic::Models::Reports::Settlement::NetworkTotalListResponse, - Lithic::Internal::AnyHash - ) - end - - # Globally unique identifier. - sig { returns(String) } - attr_accessor :token - - sig do - returns( - Lithic::Models::Reports::Settlement::NetworkTotalListResponse::Amounts - ) - end - attr_reader :amounts - - sig do - params( - amounts: - Lithic::Models::Reports::Settlement::NetworkTotalListResponse::Amounts::OrHash - ).void - end - attr_writer :amounts - - # RFC 3339 timestamp for when the record was created. UTC time zone. - sig { returns(Time) } - attr_accessor :created - - # 3-character alphabetic ISO 4217 code. - sig { returns(String) } - attr_accessor :currency - - # The institution that activity occurred on. For Mastercard: ICA (Interbank Card - # Association). For Maestro: institution ID. For Visa: lowest level SRE - # (Settlement Reporting Entity). - sig { returns(String) } - attr_accessor :institution_id - - # Indicates that all settlement records related to this Network Total are - # available in the details endpoint. - sig { returns(T::Boolean) } - attr_accessor :is_complete - - # Card network where the transaction took place. AMEX, VISA, MASTERCARD, MAESTRO, - # or INTERLINK. - sig do - returns( - Lithic::Models::Reports::Settlement::NetworkTotalListResponse::Network::TaggedSymbol - ) - end - attr_accessor :network - - # Date that the network total record applies to. YYYY-MM-DD format. - sig { returns(Date) } - attr_accessor :report_date - - # The institution responsible for settlement. For Mastercard: same as - # `institution_id`. For Maestro: billing ICA. For Visa: Funds Transfer SRE - # (FTSRE). - sig { returns(String) } - attr_accessor :settlement_institution_id - - # Settlement service. - sig { returns(String) } - attr_accessor :settlement_service - - # RFC 3339 timestamp for when the record was last updated. UTC time zone. - sig { returns(Time) } - attr_accessor :updated - - # The clearing cycle that the network total record applies to. Mastercard only. - sig { returns(T.nilable(Integer)) } - attr_reader :cycle - - sig { params(cycle: Integer).void } - attr_writer :cycle - - sig do - params( - token: String, - amounts: - Lithic::Models::Reports::Settlement::NetworkTotalListResponse::Amounts::OrHash, - created: Time, - currency: String, - institution_id: String, - is_complete: T::Boolean, - network: - Lithic::Models::Reports::Settlement::NetworkTotalListResponse::Network::OrSymbol, - report_date: Date, - settlement_institution_id: String, - settlement_service: String, - updated: Time, - cycle: Integer - ).returns(T.attached_class) - end - def self.new( - # Globally unique identifier. - token:, - amounts:, - # RFC 3339 timestamp for when the record was created. UTC time zone. - created:, - # 3-character alphabetic ISO 4217 code. - currency:, - # The institution that activity occurred on. For Mastercard: ICA (Interbank Card - # Association). For Maestro: institution ID. For Visa: lowest level SRE - # (Settlement Reporting Entity). - institution_id:, - # Indicates that all settlement records related to this Network Total are - # available in the details endpoint. - is_complete:, - # Card network where the transaction took place. AMEX, VISA, MASTERCARD, MAESTRO, - # or INTERLINK. - network:, - # Date that the network total record applies to. YYYY-MM-DD format. - report_date:, - # The institution responsible for settlement. For Mastercard: same as - # `institution_id`. For Maestro: billing ICA. For Visa: Funds Transfer SRE - # (FTSRE). - settlement_institution_id:, - # Settlement service. - settlement_service:, - # RFC 3339 timestamp for when the record was last updated. UTC time zone. - updated:, - # The clearing cycle that the network total record applies to. Mastercard only. - cycle: nil - ) - end - - sig do - override.returns( - { - token: String, - amounts: - Lithic::Models::Reports::Settlement::NetworkTotalListResponse::Amounts, - created: Time, - currency: String, - institution_id: String, - is_complete: T::Boolean, - network: - Lithic::Models::Reports::Settlement::NetworkTotalListResponse::Network::TaggedSymbol, - report_date: Date, - settlement_institution_id: String, - settlement_service: String, - updated: Time, - cycle: Integer - } - ) - end - def to_hash - end - - class Amounts < Lithic::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Lithic::Models::Reports::Settlement::NetworkTotalListResponse::Amounts, - Lithic::Internal::AnyHash - ) - end - - # Total settlement amount excluding interchange, in currency's smallest unit. - sig { returns(Integer) } - attr_accessor :gross_settlement - - # Interchange amount, in currency's smallest unit. - sig { returns(Integer) } - attr_accessor :interchange_fees - - # `gross_settlement` net of `interchange_fees` and `visa_charges` (if applicable), - # in currency's smallest unit. - sig { returns(Integer) } - attr_accessor :net_settlement - - # Charges specific to Visa/Interlink, in currency's smallest unit. - sig { returns(T.nilable(Integer)) } - attr_reader :visa_charges - - sig { params(visa_charges: Integer).void } - attr_writer :visa_charges - - sig do - params( - gross_settlement: Integer, - interchange_fees: Integer, - net_settlement: Integer, - visa_charges: Integer - ).returns(T.attached_class) - end - def self.new( - # Total settlement amount excluding interchange, in currency's smallest unit. - gross_settlement:, - # Interchange amount, in currency's smallest unit. - interchange_fees:, - # `gross_settlement` net of `interchange_fees` and `visa_charges` (if applicable), - # in currency's smallest unit. - net_settlement:, - # Charges specific to Visa/Interlink, in currency's smallest unit. - visa_charges: nil - ) - end - - sig do - override.returns( - { - gross_settlement: Integer, - interchange_fees: Integer, - net_settlement: Integer, - visa_charges: Integer - } - ) - end - def to_hash - end - end - - # Card network where the transaction took place. AMEX, VISA, MASTERCARD, MAESTRO, - # or INTERLINK. - module Network - extend Lithic::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Lithic::Models::Reports::Settlement::NetworkTotalListResponse::Network - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - AMEX = - T.let( - :AMEX, - Lithic::Models::Reports::Settlement::NetworkTotalListResponse::Network::TaggedSymbol - ) - VISA = - T.let( - :VISA, - Lithic::Models::Reports::Settlement::NetworkTotalListResponse::Network::TaggedSymbol - ) - MASTERCARD = - T.let( - :MASTERCARD, - Lithic::Models::Reports::Settlement::NetworkTotalListResponse::Network::TaggedSymbol - ) - MAESTRO = - T.let( - :MAESTRO, - Lithic::Models::Reports::Settlement::NetworkTotalListResponse::Network::TaggedSymbol - ) - INTERLINK = - T.let( - :INTERLINK, - Lithic::Models::Reports::Settlement::NetworkTotalListResponse::Network::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Lithic::Models::Reports::Settlement::NetworkTotalListResponse::Network::TaggedSymbol - ] - ) - end - def self.values - end - end - end - end - end - end -end diff --git a/rbi/lithic/models/reports/settlement/network_total_retrieve_response.rbi b/rbi/lithic/models/reports/settlement/network_total_retrieve_response.rbi deleted file mode 100644 index 10bd603d..00000000 --- a/rbi/lithic/models/reports/settlement/network_total_retrieve_response.rbi +++ /dev/null @@ -1,280 +0,0 @@ -# typed: strong - -module Lithic - module Models - module Reports - module Settlement - class NetworkTotalRetrieveResponse < Lithic::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Lithic::Models::Reports::Settlement::NetworkTotalRetrieveResponse, - Lithic::Internal::AnyHash - ) - end - - # Globally unique identifier. - sig { returns(String) } - attr_accessor :token - - sig do - returns( - Lithic::Models::Reports::Settlement::NetworkTotalRetrieveResponse::Amounts - ) - end - attr_reader :amounts - - sig do - params( - amounts: - Lithic::Models::Reports::Settlement::NetworkTotalRetrieveResponse::Amounts::OrHash - ).void - end - attr_writer :amounts - - # RFC 3339 timestamp for when the record was created. UTC time zone. - sig { returns(Time) } - attr_accessor :created - - # 3-character alphabetic ISO 4217 code. - sig { returns(String) } - attr_accessor :currency - - # The institution that activity occurred on. For Mastercard: ICA (Interbank Card - # Association). For Maestro: institution ID. For Visa: lowest level SRE - # (Settlement Reporting Entity). - sig { returns(String) } - attr_accessor :institution_id - - # Indicates that all settlement records related to this Network Total are - # available in the details endpoint. - sig { returns(T::Boolean) } - attr_accessor :is_complete - - # Card network where the transaction took place. AMEX, VISA, MASTERCARD, MAESTRO, - # or INTERLINK. - sig do - returns( - Lithic::Models::Reports::Settlement::NetworkTotalRetrieveResponse::Network::TaggedSymbol - ) - end - attr_accessor :network - - # Date that the network total record applies to. YYYY-MM-DD format. - sig { returns(Date) } - attr_accessor :report_date - - # The institution responsible for settlement. For Mastercard: same as - # `institution_id`. For Maestro: billing ICA. For Visa: Funds Transfer SRE - # (FTSRE). - sig { returns(String) } - attr_accessor :settlement_institution_id - - # Settlement service. - sig { returns(String) } - attr_accessor :settlement_service - - # RFC 3339 timestamp for when the record was last updated. UTC time zone. - sig { returns(Time) } - attr_accessor :updated - - # The clearing cycle that the network total record applies to. Mastercard only. - sig { returns(T.nilable(Integer)) } - attr_reader :cycle - - sig { params(cycle: Integer).void } - attr_writer :cycle - - sig do - params( - token: String, - amounts: - Lithic::Models::Reports::Settlement::NetworkTotalRetrieveResponse::Amounts::OrHash, - created: Time, - currency: String, - institution_id: String, - is_complete: T::Boolean, - network: - Lithic::Models::Reports::Settlement::NetworkTotalRetrieveResponse::Network::OrSymbol, - report_date: Date, - settlement_institution_id: String, - settlement_service: String, - updated: Time, - cycle: Integer - ).returns(T.attached_class) - end - def self.new( - # Globally unique identifier. - token:, - amounts:, - # RFC 3339 timestamp for when the record was created. UTC time zone. - created:, - # 3-character alphabetic ISO 4217 code. - currency:, - # The institution that activity occurred on. For Mastercard: ICA (Interbank Card - # Association). For Maestro: institution ID. For Visa: lowest level SRE - # (Settlement Reporting Entity). - institution_id:, - # Indicates that all settlement records related to this Network Total are - # available in the details endpoint. - is_complete:, - # Card network where the transaction took place. AMEX, VISA, MASTERCARD, MAESTRO, - # or INTERLINK. - network:, - # Date that the network total record applies to. YYYY-MM-DD format. - report_date:, - # The institution responsible for settlement. For Mastercard: same as - # `institution_id`. For Maestro: billing ICA. For Visa: Funds Transfer SRE - # (FTSRE). - settlement_institution_id:, - # Settlement service. - settlement_service:, - # RFC 3339 timestamp for when the record was last updated. UTC time zone. - updated:, - # The clearing cycle that the network total record applies to. Mastercard only. - cycle: nil - ) - end - - sig do - override.returns( - { - token: String, - amounts: - Lithic::Models::Reports::Settlement::NetworkTotalRetrieveResponse::Amounts, - created: Time, - currency: String, - institution_id: String, - is_complete: T::Boolean, - network: - Lithic::Models::Reports::Settlement::NetworkTotalRetrieveResponse::Network::TaggedSymbol, - report_date: Date, - settlement_institution_id: String, - settlement_service: String, - updated: Time, - cycle: Integer - } - ) - end - def to_hash - end - - class Amounts < Lithic::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Lithic::Models::Reports::Settlement::NetworkTotalRetrieveResponse::Amounts, - Lithic::Internal::AnyHash - ) - end - - # Total settlement amount excluding interchange, in currency's smallest unit. - sig { returns(Integer) } - attr_accessor :gross_settlement - - # Interchange amount, in currency's smallest unit. - sig { returns(Integer) } - attr_accessor :interchange_fees - - # `gross_settlement` net of `interchange_fees` and `visa_charges` (if applicable), - # in currency's smallest unit. - sig { returns(Integer) } - attr_accessor :net_settlement - - # Charges specific to Visa/Interlink, in currency's smallest unit. - sig { returns(T.nilable(Integer)) } - attr_reader :visa_charges - - sig { params(visa_charges: Integer).void } - attr_writer :visa_charges - - sig do - params( - gross_settlement: Integer, - interchange_fees: Integer, - net_settlement: Integer, - visa_charges: Integer - ).returns(T.attached_class) - end - def self.new( - # Total settlement amount excluding interchange, in currency's smallest unit. - gross_settlement:, - # Interchange amount, in currency's smallest unit. - interchange_fees:, - # `gross_settlement` net of `interchange_fees` and `visa_charges` (if applicable), - # in currency's smallest unit. - net_settlement:, - # Charges specific to Visa/Interlink, in currency's smallest unit. - visa_charges: nil - ) - end - - sig do - override.returns( - { - gross_settlement: Integer, - interchange_fees: Integer, - net_settlement: Integer, - visa_charges: Integer - } - ) - end - def to_hash - end - end - - # Card network where the transaction took place. AMEX, VISA, MASTERCARD, MAESTRO, - # or INTERLINK. - module Network - extend Lithic::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Lithic::Models::Reports::Settlement::NetworkTotalRetrieveResponse::Network - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - AMEX = - T.let( - :AMEX, - Lithic::Models::Reports::Settlement::NetworkTotalRetrieveResponse::Network::TaggedSymbol - ) - VISA = - T.let( - :VISA, - Lithic::Models::Reports::Settlement::NetworkTotalRetrieveResponse::Network::TaggedSymbol - ) - MASTERCARD = - T.let( - :MASTERCARD, - Lithic::Models::Reports::Settlement::NetworkTotalRetrieveResponse::Network::TaggedSymbol - ) - MAESTRO = - T.let( - :MAESTRO, - Lithic::Models::Reports::Settlement::NetworkTotalRetrieveResponse::Network::TaggedSymbol - ) - INTERLINK = - T.let( - :INTERLINK, - Lithic::Models::Reports::Settlement::NetworkTotalRetrieveResponse::Network::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Lithic::Models::Reports::Settlement::NetworkTotalRetrieveResponse::Network::TaggedSymbol - ] - ) - end - def self.values - end - end - end - end - end - end -end diff --git a/rbi/lithic/models/three_ds/authentication_retrieve_response.rbi b/rbi/lithic/models/three_ds/authentication_retrieve_response.rbi deleted file mode 100644 index 467d9068..00000000 --- a/rbi/lithic/models/three_ds/authentication_retrieve_response.rbi +++ /dev/null @@ -1,2580 +0,0 @@ -# typed: strong - -module Lithic - module Models - module ThreeDS - class AuthenticationRetrieveResponse < Lithic::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse, - Lithic::Internal::AnyHash - ) - end - - # Globally unique identifier for the 3DS authentication. Permitted values: - # 36-digit version 4 UUID (including hyphens). - sig { returns(String) } - attr_accessor :token - - # Type of account/card that is being used for the transaction. Maps to EMV 3DS - # field `acctType`. - sig do - returns( - T.nilable( - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::AccountType::TaggedSymbol - ) - ) - end - attr_accessor :account_type - - # Indicates the outcome of the 3DS authentication process. - sig do - returns( - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::AuthenticationResult::TaggedSymbol - ) - end - attr_accessor :authentication_result - - # Indicates whether the expiration date provided by the cardholder during checkout - # matches Lithic's record of the card's expiration date. - sig do - returns( - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::CardExpiryCheck::TaggedSymbol - ) - end - attr_accessor :card_expiry_check - - # Globally unique identifier for the card on which the 3DS authentication has - # occurred. Permitted values: 36-digit version 4 UUID (including hyphens). - sig { returns(String) } - attr_accessor :card_token - - # Object containing data about the cardholder provided during the transaction. - sig do - returns( - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Cardholder - ) - end - attr_reader :cardholder - - sig do - params( - cardholder: - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Cardholder::OrHash - ).void - end - attr_writer :cardholder - - # Channel in which the authentication occurs. Maps to EMV 3DS field - # `deviceChannel`. - sig do - returns( - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Channel::TaggedSymbol - ) - end - attr_accessor :channel - - # Date and time when the authentication was created in Lithic's system. Permitted - # values: Date string in the ISO 8601 format yyyy-MM-dd'T'hh:mm:ssZ. - sig { returns(Time) } - attr_accessor :created - - # Object containing data about the merchant involved in the e-commerce - # transaction. - sig do - returns( - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Merchant - ) - end - attr_reader :merchant - - sig do - params( - merchant: - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Merchant::OrHash - ).void - end - attr_writer :merchant - - # Either PAYMENT_AUTHENTICATION or NON_PAYMENT_AUTHENTICATION. For - # NON_PAYMENT_AUTHENTICATION, additional_data and transaction fields are not - # populated. - sig do - returns( - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::MessageCategory::TaggedSymbol - ) - end - attr_accessor :message_category - - # Indicates whether a challenge is requested for this transaction - # - # - `NO_PREFERENCE` - No Preference - # - `NO_CHALLENGE_REQUESTED` - No Challenge Requested - # - `CHALLENGE_PREFERENCE` - Challenge requested (3DS Requestor preference) - # - `CHALLENGE_MANDATE` - Challenge requested (Mandate) - # - `NO_CHALLENGE_RISK_ALREADY_ASSESSED` - No Challenge requested (Transactional - # risk analysis is already performed) - # - `DATA_SHARE_ONLY` - No Challenge requested (Data Share Only) - # - `OTHER` - Other indicators not captured by above. These are rarely used - sig do - returns( - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::ThreeDSRequestorChallengeIndicator::TaggedSymbol - ) - end - attr_accessor :three_ds_requestor_challenge_indicator - - # Object containing additional data about the 3DS request that is beyond the EMV - # 3DS standard spec (e.g., specific fields that only certain card networks send - # but are not required across all 3DS requests). - sig do - returns( - T.nilable( - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::AdditionalData - ) - ) - end - attr_reader :additional_data - - sig do - params( - additional_data: - T.nilable( - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::AdditionalData::OrHash - ) - ).void - end - attr_writer :additional_data - - # Object containing data about the app used in the e-commerce transaction. Present - # if the channel is 'APP_BASED'. - sig do - returns( - T.nilable( - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::App - ) - ) - end - attr_reader :app - - sig do - params( - app: - T.nilable( - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::App::OrHash - ) - ).void - end - attr_writer :app - - # Type of authentication request - i.e., the type of transaction or interaction is - # causing the merchant to request an authentication. Maps to EMV 3DS field - # `threeDSRequestorAuthenticationInd`. - sig do - returns( - T.nilable( - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::AuthenticationRequestType::TaggedSymbol - ) - ) - end - attr_accessor :authentication_request_type - - # Object containing data about the browser used in the e-commerce transaction. - # Present if the channel is 'BROWSER'. - sig do - returns( - T.nilable( - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Browser - ) - ) - end - attr_reader :browser - - sig do - params( - browser: - T.nilable( - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Browser::OrHash - ) - ).void - end - attr_writer :browser - - # Metadata about the challenge method and delivery. Only present when a challenge - # is triggered. - sig do - returns( - T.nilable( - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::ChallengeMetadata - ) - ) - end - attr_reader :challenge_metadata - - sig do - params( - challenge_metadata: - T.nilable( - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::ChallengeMetadata::OrHash - ) - ).void - end - attr_writer :challenge_metadata - - # Entity that orchestrates the challenge. This won't be set for authentications - # for which a decision has not yet been made (e.g. in-flight customer decisioning - # request). - sig do - returns( - T.nilable( - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::ChallengeOrchestratedBy::TaggedSymbol - ) - ) - end - attr_accessor :challenge_orchestrated_by - - # Entity that made the authentication decision. This won't be set for - # authentications for which a decision has not yet been made (e.g. in-flight - # customer decisioning request). - sig do - returns( - T.nilable( - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::DecisionMadeBy::TaggedSymbol - ) - ) - end - attr_accessor :decision_made_by - - # Type of 3DS Requestor Initiated (3RI) request — i.e., a 3DS authentication that - # takes place at the initiation of the merchant rather than the cardholder. The - # most common example of this is where a merchant is authenticating before billing - # for a recurring transaction such as a pay TV subscription or a utility bill. - # Maps to EMV 3DS field `threeRIInd`. - sig do - returns( - T.nilable( - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::ThreeRiRequestType::TaggedSymbol - ) - ) - end - attr_accessor :three_ri_request_type - - # Object containing data about the e-commerce transaction for which the merchant - # is requesting authentication. - sig do - returns( - T.nilable( - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Transaction - ) - ) - end - attr_reader :transaction - - sig do - params( - transaction: - T.nilable( - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Transaction::OrHash - ) - ).void - end - attr_writer :transaction - - # Represents a 3DS authentication - sig do - params( - token: String, - account_type: - T.nilable( - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::AccountType::OrSymbol - ), - authentication_result: - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::AuthenticationResult::OrSymbol, - card_expiry_check: - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::CardExpiryCheck::OrSymbol, - card_token: String, - cardholder: - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Cardholder::OrHash, - channel: - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Channel::OrSymbol, - created: Time, - merchant: - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Merchant::OrHash, - message_category: - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::MessageCategory::OrSymbol, - three_ds_requestor_challenge_indicator: - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::ThreeDSRequestorChallengeIndicator::OrSymbol, - additional_data: - T.nilable( - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::AdditionalData::OrHash - ), - app: - T.nilable( - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::App::OrHash - ), - authentication_request_type: - T.nilable( - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::AuthenticationRequestType::OrSymbol - ), - browser: - T.nilable( - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Browser::OrHash - ), - challenge_metadata: - T.nilable( - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::ChallengeMetadata::OrHash - ), - challenge_orchestrated_by: - T.nilable( - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::ChallengeOrchestratedBy::OrSymbol - ), - decision_made_by: - T.nilable( - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::DecisionMadeBy::OrSymbol - ), - three_ri_request_type: - T.nilable( - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::ThreeRiRequestType::OrSymbol - ), - transaction: - T.nilable( - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Transaction::OrHash - ) - ).returns(T.attached_class) - end - def self.new( - # Globally unique identifier for the 3DS authentication. Permitted values: - # 36-digit version 4 UUID (including hyphens). - token:, - # Type of account/card that is being used for the transaction. Maps to EMV 3DS - # field `acctType`. - account_type:, - # Indicates the outcome of the 3DS authentication process. - authentication_result:, - # Indicates whether the expiration date provided by the cardholder during checkout - # matches Lithic's record of the card's expiration date. - card_expiry_check:, - # Globally unique identifier for the card on which the 3DS authentication has - # occurred. Permitted values: 36-digit version 4 UUID (including hyphens). - card_token:, - # Object containing data about the cardholder provided during the transaction. - cardholder:, - # Channel in which the authentication occurs. Maps to EMV 3DS field - # `deviceChannel`. - channel:, - # Date and time when the authentication was created in Lithic's system. Permitted - # values: Date string in the ISO 8601 format yyyy-MM-dd'T'hh:mm:ssZ. - created:, - # Object containing data about the merchant involved in the e-commerce - # transaction. - merchant:, - # Either PAYMENT_AUTHENTICATION or NON_PAYMENT_AUTHENTICATION. For - # NON_PAYMENT_AUTHENTICATION, additional_data and transaction fields are not - # populated. - message_category:, - # Indicates whether a challenge is requested for this transaction - # - # - `NO_PREFERENCE` - No Preference - # - `NO_CHALLENGE_REQUESTED` - No Challenge Requested - # - `CHALLENGE_PREFERENCE` - Challenge requested (3DS Requestor preference) - # - `CHALLENGE_MANDATE` - Challenge requested (Mandate) - # - `NO_CHALLENGE_RISK_ALREADY_ASSESSED` - No Challenge requested (Transactional - # risk analysis is already performed) - # - `DATA_SHARE_ONLY` - No Challenge requested (Data Share Only) - # - `OTHER` - Other indicators not captured by above. These are rarely used - three_ds_requestor_challenge_indicator:, - # Object containing additional data about the 3DS request that is beyond the EMV - # 3DS standard spec (e.g., specific fields that only certain card networks send - # but are not required across all 3DS requests). - additional_data: nil, - # Object containing data about the app used in the e-commerce transaction. Present - # if the channel is 'APP_BASED'. - app: nil, - # Type of authentication request - i.e., the type of transaction or interaction is - # causing the merchant to request an authentication. Maps to EMV 3DS field - # `threeDSRequestorAuthenticationInd`. - authentication_request_type: nil, - # Object containing data about the browser used in the e-commerce transaction. - # Present if the channel is 'BROWSER'. - browser: nil, - # Metadata about the challenge method and delivery. Only present when a challenge - # is triggered. - challenge_metadata: nil, - # Entity that orchestrates the challenge. This won't be set for authentications - # for which a decision has not yet been made (e.g. in-flight customer decisioning - # request). - challenge_orchestrated_by: nil, - # Entity that made the authentication decision. This won't be set for - # authentications for which a decision has not yet been made (e.g. in-flight - # customer decisioning request). - decision_made_by: nil, - # Type of 3DS Requestor Initiated (3RI) request — i.e., a 3DS authentication that - # takes place at the initiation of the merchant rather than the cardholder. The - # most common example of this is where a merchant is authenticating before billing - # for a recurring transaction such as a pay TV subscription or a utility bill. - # Maps to EMV 3DS field `threeRIInd`. - three_ri_request_type: nil, - # Object containing data about the e-commerce transaction for which the merchant - # is requesting authentication. - transaction: nil - ) - end - - sig do - override.returns( - { - token: String, - account_type: - T.nilable( - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::AccountType::TaggedSymbol - ), - authentication_result: - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::AuthenticationResult::TaggedSymbol, - card_expiry_check: - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::CardExpiryCheck::TaggedSymbol, - card_token: String, - cardholder: - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Cardholder, - channel: - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Channel::TaggedSymbol, - created: Time, - merchant: - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Merchant, - message_category: - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::MessageCategory::TaggedSymbol, - three_ds_requestor_challenge_indicator: - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::ThreeDSRequestorChallengeIndicator::TaggedSymbol, - additional_data: - T.nilable( - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::AdditionalData - ), - app: - T.nilable( - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::App - ), - authentication_request_type: - T.nilable( - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::AuthenticationRequestType::TaggedSymbol - ), - browser: - T.nilable( - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Browser - ), - challenge_metadata: - T.nilable( - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::ChallengeMetadata - ), - challenge_orchestrated_by: - T.nilable( - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::ChallengeOrchestratedBy::TaggedSymbol - ), - decision_made_by: - T.nilable( - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::DecisionMadeBy::TaggedSymbol - ), - three_ri_request_type: - T.nilable( - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::ThreeRiRequestType::TaggedSymbol - ), - transaction: - T.nilable( - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Transaction - ) - } - ) - end - def to_hash - end - - # Type of account/card that is being used for the transaction. Maps to EMV 3DS - # field `acctType`. - module AccountType - extend Lithic::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::AccountType - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - CREDIT = - T.let( - :CREDIT, - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::AccountType::TaggedSymbol - ) - DEBIT = - T.let( - :DEBIT, - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::AccountType::TaggedSymbol - ) - NOT_APPLICABLE = - T.let( - :NOT_APPLICABLE, - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::AccountType::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::AccountType::TaggedSymbol - ] - ) - end - def self.values - end - end - - # Indicates the outcome of the 3DS authentication process. - module AuthenticationResult - extend Lithic::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::AuthenticationResult - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - DECLINE = - T.let( - :DECLINE, - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::AuthenticationResult::TaggedSymbol - ) - SUCCESS = - T.let( - :SUCCESS, - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::AuthenticationResult::TaggedSymbol - ) - PENDING_CHALLENGE = - T.let( - :PENDING_CHALLENGE, - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::AuthenticationResult::TaggedSymbol - ) - PENDING_DECISION = - T.let( - :PENDING_DECISION, - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::AuthenticationResult::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::AuthenticationResult::TaggedSymbol - ] - ) - end - def self.values - end - end - - # Indicates whether the expiration date provided by the cardholder during checkout - # matches Lithic's record of the card's expiration date. - module CardExpiryCheck - extend Lithic::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::CardExpiryCheck - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - MATCH = - T.let( - :MATCH, - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::CardExpiryCheck::TaggedSymbol - ) - MISMATCH = - T.let( - :MISMATCH, - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::CardExpiryCheck::TaggedSymbol - ) - NOT_PRESENT = - T.let( - :NOT_PRESENT, - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::CardExpiryCheck::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::CardExpiryCheck::TaggedSymbol - ] - ) - end - def self.values - end - end - - class Cardholder < Lithic::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Cardholder, - Lithic::Internal::AnyHash - ) - end - - # Indicates whether the shipping address and billing address provided by the - # cardholder are the same. This value - and assessment of whether the addresses - # match - is provided directly in the 3DS request and is not determined by Lithic. - # Maps to EMV 3DS field `addrMatch`. - sig { returns(T.nilable(T::Boolean)) } - attr_accessor :address_match - - # Lithic's evaluation result comparing the transaction's address data with the - # cardholder KYC data if it exists. In the event Lithic does not have any - # Cardholder KYC data, or the transaction does not contain any address data, - # NOT_PRESENT will be returned - sig do - returns( - T.nilable( - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Cardholder::AddressOnFileMatch::TaggedSymbol - ) - ) - end - attr_reader :address_on_file_match - - sig do - params( - address_on_file_match: - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Cardholder::AddressOnFileMatch::OrSymbol - ).void - end - attr_writer :address_on_file_match - - # Object containing data on the billing address provided during the transaction. - sig do - returns( - T.nilable( - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Cardholder::BillingAddress - ) - ) - end - attr_reader :billing_address - - sig do - params( - billing_address: - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Cardholder::BillingAddress::OrHash - ).void - end - attr_writer :billing_address - - # Email address that is either provided by the cardholder or is on file with the - # merchant in a 3RI request. Maps to EMV 3DS field `email`. - sig { returns(T.nilable(String)) } - attr_accessor :email - - # Name of the cardholder. Maps to EMV 3DS field `cardholderName`. - sig { returns(T.nilable(String)) } - attr_accessor :name - - # Home phone number in E.164 format provided by the cardholder. Maps to EMV 3DS - # fields `homePhone.cc` and `homePhone.subscriber`. - sig { returns(T.nilable(String)) } - attr_accessor :phone_number_home - - # Mobile/cell phone number in E.164 format provided by the cardholder. Maps to EMV - # 3DS fields `mobilePhone.cc` and `mobilePhone.subscriber`. - sig { returns(T.nilable(String)) } - attr_accessor :phone_number_mobile - - # Work phone number in E.164 format provided by the cardholder. Maps to EMV 3DS - # fields `workPhone.cc` and `workPhone.subscriber`. - sig { returns(T.nilable(String)) } - attr_accessor :phone_number_work - - # Object containing data on the shipping address provided during the transaction. - sig do - returns( - T.nilable( - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Cardholder::ShippingAddress - ) - ) - end - attr_reader :shipping_address - - sig do - params( - shipping_address: - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Cardholder::ShippingAddress::OrHash - ).void - end - attr_writer :shipping_address - - # Object containing data about the cardholder provided during the transaction. - sig do - params( - address_match: T.nilable(T::Boolean), - address_on_file_match: - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Cardholder::AddressOnFileMatch::OrSymbol, - billing_address: - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Cardholder::BillingAddress::OrHash, - email: T.nilable(String), - name: T.nilable(String), - phone_number_home: T.nilable(String), - phone_number_mobile: T.nilable(String), - phone_number_work: T.nilable(String), - shipping_address: - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Cardholder::ShippingAddress::OrHash - ).returns(T.attached_class) - end - def self.new( - # Indicates whether the shipping address and billing address provided by the - # cardholder are the same. This value - and assessment of whether the addresses - # match - is provided directly in the 3DS request and is not determined by Lithic. - # Maps to EMV 3DS field `addrMatch`. - address_match: nil, - # Lithic's evaluation result comparing the transaction's address data with the - # cardholder KYC data if it exists. In the event Lithic does not have any - # Cardholder KYC data, or the transaction does not contain any address data, - # NOT_PRESENT will be returned - address_on_file_match: nil, - # Object containing data on the billing address provided during the transaction. - billing_address: nil, - # Email address that is either provided by the cardholder or is on file with the - # merchant in a 3RI request. Maps to EMV 3DS field `email`. - email: nil, - # Name of the cardholder. Maps to EMV 3DS field `cardholderName`. - name: nil, - # Home phone number in E.164 format provided by the cardholder. Maps to EMV 3DS - # fields `homePhone.cc` and `homePhone.subscriber`. - phone_number_home: nil, - # Mobile/cell phone number in E.164 format provided by the cardholder. Maps to EMV - # 3DS fields `mobilePhone.cc` and `mobilePhone.subscriber`. - phone_number_mobile: nil, - # Work phone number in E.164 format provided by the cardholder. Maps to EMV 3DS - # fields `workPhone.cc` and `workPhone.subscriber`. - phone_number_work: nil, - # Object containing data on the shipping address provided during the transaction. - shipping_address: nil - ) - end - - sig do - override.returns( - { - address_match: T.nilable(T::Boolean), - address_on_file_match: - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Cardholder::AddressOnFileMatch::TaggedSymbol, - billing_address: - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Cardholder::BillingAddress, - email: T.nilable(String), - name: T.nilable(String), - phone_number_home: T.nilable(String), - phone_number_mobile: T.nilable(String), - phone_number_work: T.nilable(String), - shipping_address: - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Cardholder::ShippingAddress - } - ) - end - def to_hash - end - - # Lithic's evaluation result comparing the transaction's address data with the - # cardholder KYC data if it exists. In the event Lithic does not have any - # Cardholder KYC data, or the transaction does not contain any address data, - # NOT_PRESENT will be returned - module AddressOnFileMatch - extend Lithic::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Cardholder::AddressOnFileMatch - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - MATCH = - T.let( - :MATCH, - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Cardholder::AddressOnFileMatch::TaggedSymbol - ) - MATCH_ADDRESS_ONLY = - T.let( - :MATCH_ADDRESS_ONLY, - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Cardholder::AddressOnFileMatch::TaggedSymbol - ) - MATCH_ZIP_ONLY = - T.let( - :MATCH_ZIP_ONLY, - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Cardholder::AddressOnFileMatch::TaggedSymbol - ) - MISMATCH = - T.let( - :MISMATCH, - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Cardholder::AddressOnFileMatch::TaggedSymbol - ) - NOT_PRESENT = - T.let( - :NOT_PRESENT, - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Cardholder::AddressOnFileMatch::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Cardholder::AddressOnFileMatch::TaggedSymbol - ] - ) - end - def self.values - end - end - - class BillingAddress < Lithic::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Cardholder::BillingAddress, - Lithic::Internal::AnyHash - ) - end - - # First line of the street address provided by the cardholder. - sig { returns(T.nilable(String)) } - attr_accessor :address1 - - # Second line of the street address provided by the cardholder. - sig { returns(T.nilable(String)) } - attr_accessor :address2 - - # Third line of the street address provided by the cardholder. - sig { returns(T.nilable(String)) } - attr_accessor :address3 - - # City of the address provided by the cardholder. - sig { returns(T.nilable(String)) } - attr_accessor :city - - # Country of the address provided by the cardholder in ISO 3166-1 alpha-3 format - # (e.g. USA) - sig { returns(T.nilable(String)) } - attr_accessor :country - - # Postal code (e.g., ZIP code) of the address provided by the cardholder - sig { returns(T.nilable(String)) } - attr_accessor :postal_code - - # Object containing data on the billing address provided during the transaction. - sig do - params( - address1: T.nilable(String), - address2: T.nilable(String), - address3: T.nilable(String), - city: T.nilable(String), - country: T.nilable(String), - postal_code: T.nilable(String) - ).returns(T.attached_class) - end - def self.new( - # First line of the street address provided by the cardholder. - address1: nil, - # Second line of the street address provided by the cardholder. - address2: nil, - # Third line of the street address provided by the cardholder. - address3: nil, - # City of the address provided by the cardholder. - city: nil, - # Country of the address provided by the cardholder in ISO 3166-1 alpha-3 format - # (e.g. USA) - country: nil, - # Postal code (e.g., ZIP code) of the address provided by the cardholder - postal_code: nil - ) - end - - sig do - override.returns( - { - address1: T.nilable(String), - address2: T.nilable(String), - address3: T.nilable(String), - city: T.nilable(String), - country: T.nilable(String), - postal_code: T.nilable(String) - } - ) - end - def to_hash - end - end - - class ShippingAddress < Lithic::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Cardholder::ShippingAddress, - Lithic::Internal::AnyHash - ) - end - - # First line of the street address provided by the cardholder. - sig { returns(T.nilable(String)) } - attr_accessor :address1 - - # Second line of the street address provided by the cardholder. - sig { returns(T.nilable(String)) } - attr_accessor :address2 - - # Third line of the street address provided by the cardholder. - sig { returns(T.nilable(String)) } - attr_accessor :address3 - - # City of the address provided by the cardholder. - sig { returns(T.nilable(String)) } - attr_accessor :city - - # Country of the address provided by the cardholder in ISO 3166-1 alpha-3 format - # (e.g. USA) - sig { returns(T.nilable(String)) } - attr_accessor :country - - # Postal code (e.g., ZIP code) of the address provided by the cardholder - sig { returns(T.nilable(String)) } - attr_accessor :postal_code - - # Object containing data on the shipping address provided during the transaction. - sig do - params( - address1: T.nilable(String), - address2: T.nilable(String), - address3: T.nilable(String), - city: T.nilable(String), - country: T.nilable(String), - postal_code: T.nilable(String) - ).returns(T.attached_class) - end - def self.new( - # First line of the street address provided by the cardholder. - address1: nil, - # Second line of the street address provided by the cardholder. - address2: nil, - # Third line of the street address provided by the cardholder. - address3: nil, - # City of the address provided by the cardholder. - city: nil, - # Country of the address provided by the cardholder in ISO 3166-1 alpha-3 format - # (e.g. USA) - country: nil, - # Postal code (e.g., ZIP code) of the address provided by the cardholder - postal_code: nil - ) - end - - sig do - override.returns( - { - address1: T.nilable(String), - address2: T.nilable(String), - address3: T.nilable(String), - city: T.nilable(String), - country: T.nilable(String), - postal_code: T.nilable(String) - } - ) - end - def to_hash - end - end - end - - # Channel in which the authentication occurs. Maps to EMV 3DS field - # `deviceChannel`. - module Channel - extend Lithic::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Channel - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - APP_BASED = - T.let( - :APP_BASED, - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Channel::TaggedSymbol - ) - BROWSER = - T.let( - :BROWSER, - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Channel::TaggedSymbol - ) - THREE_DS_REQUESTOR_INITIATED = - T.let( - :THREE_DS_REQUESTOR_INITIATED, - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Channel::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Channel::TaggedSymbol - ] - ) - end - def self.values - end - end - - class Merchant < Lithic::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Merchant, - Lithic::Internal::AnyHash - ) - end - - # Object containing additional data indicating additional risk factors related to - # the e-commerce transaction. - sig do - returns( - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Merchant::RiskIndicator - ) - end - attr_reader :risk_indicator - - sig do - params( - risk_indicator: - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Merchant::RiskIndicator::OrHash - ).void - end - attr_writer :risk_indicator - - # Merchant identifier as assigned by the acquirer. Maps to EMV 3DS field - # `acquirerMerchantId`. May not be present for non-payment authentications. - sig { returns(T.nilable(String)) } - attr_accessor :id - - # Country code of the merchant requesting 3DS authentication. Maps to EMV 3DS - # field `merchantCountryCode`. Permitted values: ISO 3166-1 alpha-3 country code - # (e.g., USA). May not be present for non-payment authentications. - sig { returns(T.nilable(String)) } - attr_accessor :country - - # Merchant category code assigned to the merchant that describes its business - # activity type. Maps to EMV 3DS field `mcc`. May not be present for non-payment - # authentications. - sig { returns(T.nilable(String)) } - attr_accessor :mcc - - # Name of the merchant. Maps to EMV 3DS field `merchantName`. May not be present - # for non-payment authentications. - sig { returns(T.nilable(String)) } - attr_accessor :name - - # Object containing data about the merchant involved in the e-commerce - # transaction. - sig do - params( - risk_indicator: - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Merchant::RiskIndicator::OrHash, - id: T.nilable(String), - country: T.nilable(String), - mcc: T.nilable(String), - name: T.nilable(String) - ).returns(T.attached_class) - end - def self.new( - # Object containing additional data indicating additional risk factors related to - # the e-commerce transaction. - risk_indicator:, - # Merchant identifier as assigned by the acquirer. Maps to EMV 3DS field - # `acquirerMerchantId`. May not be present for non-payment authentications. - id: nil, - # Country code of the merchant requesting 3DS authentication. Maps to EMV 3DS - # field `merchantCountryCode`. Permitted values: ISO 3166-1 alpha-3 country code - # (e.g., USA). May not be present for non-payment authentications. - country: nil, - # Merchant category code assigned to the merchant that describes its business - # activity type. Maps to EMV 3DS field `mcc`. May not be present for non-payment - # authentications. - mcc: nil, - # Name of the merchant. Maps to EMV 3DS field `merchantName`. May not be present - # for non-payment authentications. - name: nil - ) - end - - sig do - override.returns( - { - risk_indicator: - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Merchant::RiskIndicator, - id: T.nilable(String), - country: T.nilable(String), - mcc: T.nilable(String), - name: T.nilable(String) - } - ) - end - def to_hash - end - - class RiskIndicator < Lithic::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Merchant::RiskIndicator, - Lithic::Internal::AnyHash - ) - end - - # In transactions with electronic delivery, email address to which merchandise is - # delivered. Maps to EMV 3DS field `deliveryEmailAddress`. - sig { returns(T.nilable(String)) } - attr_accessor :delivery_email_address - - # The delivery time frame for the merchandise. Maps to EMV 3DS field - # `deliveryTimeframe`. - sig do - returns( - T.nilable( - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Merchant::RiskIndicator::DeliveryTimeFrame::TaggedSymbol - ) - ) - end - attr_accessor :delivery_time_frame - - # In prepaid or gift card purchase transactions, purchase amount total in major - # units (e.g., a purchase of USD $205.10 would be 205). Maps to EMV 3DS field - # `giftCardAmount`. - sig { returns(T.nilable(Integer)) } - attr_accessor :gift_card_amount - - # In prepaid or gift card purchase transactions, count of individual prepaid or - # gift cards/codes purchased. Maps to EMV 3DS field `giftCardCount`. - sig { returns(T.nilable(Integer)) } - attr_accessor :gift_card_count - - # In prepaid or gift card purchase transactions, currency code of the gift card. - # Maps to EMV 3DS field `giftCardCurr`. Permitted values: ISO 4217 three-character - # currency code (e.g., USD). - sig { returns(T.nilable(String)) } - attr_accessor :gift_card_currency - - # Indicates whether the purchase is for merchandise that is available now or at a - # future date. Maps to EMV 3DS field `preOrderPurchaseInd`. - sig do - returns( - T.nilable( - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Merchant::RiskIndicator::OrderAvailability::TaggedSymbol - ) - ) - end - attr_accessor :order_availability - - # In pre-order purchase transactions, the expected date that the merchandise will - # be available. Maps to EMV 3DS field `preOrderDate`. Permitted values: Date - # string in the ISO 8601 format yyyy-MM-dd'T'hh:mm:ssZ - sig { returns(T.nilable(Time)) } - attr_accessor :pre_order_available_date - - # Indicates whether the cardholder is reordering previously purchased merchandise. - # Maps to EMV 3DS field `reorderItemsInd`. - sig do - returns( - T.nilable( - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Merchant::RiskIndicator::ReorderItems::TaggedSymbol - ) - ) - end - attr_accessor :reorder_items - - # Shipping method that the cardholder chose for the transaction. If purchase - # includes one or more item, this indicator is used for the physical goods; if the - # purchase only includes digital goods, this indicator is used to describe the - # most expensive item purchased. Maps to EMV 3DS field `shipIndicator`. - sig do - returns( - T.nilable( - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Merchant::RiskIndicator::ShippingMethod::TaggedSymbol - ) - ) - end - attr_accessor :shipping_method - - # Object containing additional data indicating additional risk factors related to - # the e-commerce transaction. - sig do - params( - delivery_email_address: T.nilable(String), - delivery_time_frame: - T.nilable( - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Merchant::RiskIndicator::DeliveryTimeFrame::OrSymbol - ), - gift_card_amount: T.nilable(Integer), - gift_card_count: T.nilable(Integer), - gift_card_currency: T.nilable(String), - order_availability: - T.nilable( - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Merchant::RiskIndicator::OrderAvailability::OrSymbol - ), - pre_order_available_date: T.nilable(Time), - reorder_items: - T.nilable( - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Merchant::RiskIndicator::ReorderItems::OrSymbol - ), - shipping_method: - T.nilable( - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Merchant::RiskIndicator::ShippingMethod::OrSymbol - ) - ).returns(T.attached_class) - end - def self.new( - # In transactions with electronic delivery, email address to which merchandise is - # delivered. Maps to EMV 3DS field `deliveryEmailAddress`. - delivery_email_address: nil, - # The delivery time frame for the merchandise. Maps to EMV 3DS field - # `deliveryTimeframe`. - delivery_time_frame: nil, - # In prepaid or gift card purchase transactions, purchase amount total in major - # units (e.g., a purchase of USD $205.10 would be 205). Maps to EMV 3DS field - # `giftCardAmount`. - gift_card_amount: nil, - # In prepaid or gift card purchase transactions, count of individual prepaid or - # gift cards/codes purchased. Maps to EMV 3DS field `giftCardCount`. - gift_card_count: nil, - # In prepaid or gift card purchase transactions, currency code of the gift card. - # Maps to EMV 3DS field `giftCardCurr`. Permitted values: ISO 4217 three-character - # currency code (e.g., USD). - gift_card_currency: nil, - # Indicates whether the purchase is for merchandise that is available now or at a - # future date. Maps to EMV 3DS field `preOrderPurchaseInd`. - order_availability: nil, - # In pre-order purchase transactions, the expected date that the merchandise will - # be available. Maps to EMV 3DS field `preOrderDate`. Permitted values: Date - # string in the ISO 8601 format yyyy-MM-dd'T'hh:mm:ssZ - pre_order_available_date: nil, - # Indicates whether the cardholder is reordering previously purchased merchandise. - # Maps to EMV 3DS field `reorderItemsInd`. - reorder_items: nil, - # Shipping method that the cardholder chose for the transaction. If purchase - # includes one or more item, this indicator is used for the physical goods; if the - # purchase only includes digital goods, this indicator is used to describe the - # most expensive item purchased. Maps to EMV 3DS field `shipIndicator`. - shipping_method: nil - ) - end - - sig do - override.returns( - { - delivery_email_address: T.nilable(String), - delivery_time_frame: - T.nilable( - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Merchant::RiskIndicator::DeliveryTimeFrame::TaggedSymbol - ), - gift_card_amount: T.nilable(Integer), - gift_card_count: T.nilable(Integer), - gift_card_currency: T.nilable(String), - order_availability: - T.nilable( - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Merchant::RiskIndicator::OrderAvailability::TaggedSymbol - ), - pre_order_available_date: T.nilable(Time), - reorder_items: - T.nilable( - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Merchant::RiskIndicator::ReorderItems::TaggedSymbol - ), - shipping_method: - T.nilable( - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Merchant::RiskIndicator::ShippingMethod::TaggedSymbol - ) - } - ) - end - def to_hash - end - - # The delivery time frame for the merchandise. Maps to EMV 3DS field - # `deliveryTimeframe`. - module DeliveryTimeFrame - extend Lithic::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Merchant::RiskIndicator::DeliveryTimeFrame - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - ELECTRONIC_DELIVERY = - T.let( - :ELECTRONIC_DELIVERY, - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Merchant::RiskIndicator::DeliveryTimeFrame::TaggedSymbol - ) - OVERNIGHT_SHIPPING = - T.let( - :OVERNIGHT_SHIPPING, - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Merchant::RiskIndicator::DeliveryTimeFrame::TaggedSymbol - ) - SAME_DAY_SHIPPING = - T.let( - :SAME_DAY_SHIPPING, - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Merchant::RiskIndicator::DeliveryTimeFrame::TaggedSymbol - ) - TWO_DAY_OR_MORE_SHIPPING = - T.let( - :TWO_DAY_OR_MORE_SHIPPING, - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Merchant::RiskIndicator::DeliveryTimeFrame::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Merchant::RiskIndicator::DeliveryTimeFrame::TaggedSymbol - ] - ) - end - def self.values - end - end - - # Indicates whether the purchase is for merchandise that is available now or at a - # future date. Maps to EMV 3DS field `preOrderPurchaseInd`. - module OrderAvailability - extend Lithic::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Merchant::RiskIndicator::OrderAvailability - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - FUTURE_AVAILABILITY = - T.let( - :FUTURE_AVAILABILITY, - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Merchant::RiskIndicator::OrderAvailability::TaggedSymbol - ) - MERCHANDISE_AVAILABLE = - T.let( - :MERCHANDISE_AVAILABLE, - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Merchant::RiskIndicator::OrderAvailability::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Merchant::RiskIndicator::OrderAvailability::TaggedSymbol - ] - ) - end - def self.values - end - end - - # Indicates whether the cardholder is reordering previously purchased merchandise. - # Maps to EMV 3DS field `reorderItemsInd`. - module ReorderItems - extend Lithic::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Merchant::RiskIndicator::ReorderItems - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - FIRST_TIME_ORDERED = - T.let( - :FIRST_TIME_ORDERED, - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Merchant::RiskIndicator::ReorderItems::TaggedSymbol - ) - REORDERED = - T.let( - :REORDERED, - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Merchant::RiskIndicator::ReorderItems::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Merchant::RiskIndicator::ReorderItems::TaggedSymbol - ] - ) - end - def self.values - end - end - - # Shipping method that the cardholder chose for the transaction. If purchase - # includes one or more item, this indicator is used for the physical goods; if the - # purchase only includes digital goods, this indicator is used to describe the - # most expensive item purchased. Maps to EMV 3DS field `shipIndicator`. - module ShippingMethod - extend Lithic::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Merchant::RiskIndicator::ShippingMethod - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - DIGITAL_GOODS = - T.let( - :DIGITAL_GOODS, - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Merchant::RiskIndicator::ShippingMethod::TaggedSymbol - ) - LOCKER_DELIVERY = - T.let( - :LOCKER_DELIVERY, - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Merchant::RiskIndicator::ShippingMethod::TaggedSymbol - ) - OTHER = - T.let( - :OTHER, - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Merchant::RiskIndicator::ShippingMethod::TaggedSymbol - ) - PICK_UP_AND_GO_DELIVERY = - T.let( - :PICK_UP_AND_GO_DELIVERY, - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Merchant::RiskIndicator::ShippingMethod::TaggedSymbol - ) - SHIP_TO_BILLING_ADDRESS = - T.let( - :SHIP_TO_BILLING_ADDRESS, - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Merchant::RiskIndicator::ShippingMethod::TaggedSymbol - ) - SHIP_TO_NON_BILLING_ADDRESS = - T.let( - :SHIP_TO_NON_BILLING_ADDRESS, - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Merchant::RiskIndicator::ShippingMethod::TaggedSymbol - ) - SHIP_TO_OTHER_VERIFIED_ADDRESS = - T.let( - :SHIP_TO_OTHER_VERIFIED_ADDRESS, - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Merchant::RiskIndicator::ShippingMethod::TaggedSymbol - ) - SHIP_TO_STORE = - T.let( - :SHIP_TO_STORE, - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Merchant::RiskIndicator::ShippingMethod::TaggedSymbol - ) - TRAVEL_AND_EVENT_TICKETS = - T.let( - :TRAVEL_AND_EVENT_TICKETS, - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Merchant::RiskIndicator::ShippingMethod::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Merchant::RiskIndicator::ShippingMethod::TaggedSymbol - ] - ) - end - def self.values - end - end - end - end - - # Either PAYMENT_AUTHENTICATION or NON_PAYMENT_AUTHENTICATION. For - # NON_PAYMENT_AUTHENTICATION, additional_data and transaction fields are not - # populated. - module MessageCategory - extend Lithic::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::MessageCategory - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - NON_PAYMENT_AUTHENTICATION = - T.let( - :NON_PAYMENT_AUTHENTICATION, - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::MessageCategory::TaggedSymbol - ) - PAYMENT_AUTHENTICATION = - T.let( - :PAYMENT_AUTHENTICATION, - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::MessageCategory::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::MessageCategory::TaggedSymbol - ] - ) - end - def self.values - end - end - - # Indicates whether a challenge is requested for this transaction - # - # - `NO_PREFERENCE` - No Preference - # - `NO_CHALLENGE_REQUESTED` - No Challenge Requested - # - `CHALLENGE_PREFERENCE` - Challenge requested (3DS Requestor preference) - # - `CHALLENGE_MANDATE` - Challenge requested (Mandate) - # - `NO_CHALLENGE_RISK_ALREADY_ASSESSED` - No Challenge requested (Transactional - # risk analysis is already performed) - # - `DATA_SHARE_ONLY` - No Challenge requested (Data Share Only) - # - `OTHER` - Other indicators not captured by above. These are rarely used - module ThreeDSRequestorChallengeIndicator - extend Lithic::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::ThreeDSRequestorChallengeIndicator - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - NO_PREFERENCE = - T.let( - :NO_PREFERENCE, - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::ThreeDSRequestorChallengeIndicator::TaggedSymbol - ) - NO_CHALLENGE_REQUESTED = - T.let( - :NO_CHALLENGE_REQUESTED, - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::ThreeDSRequestorChallengeIndicator::TaggedSymbol - ) - CHALLENGE_PREFERENCE = - T.let( - :CHALLENGE_PREFERENCE, - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::ThreeDSRequestorChallengeIndicator::TaggedSymbol - ) - CHALLENGE_MANDATE = - T.let( - :CHALLENGE_MANDATE, - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::ThreeDSRequestorChallengeIndicator::TaggedSymbol - ) - NO_CHALLENGE_RISK_ALREADY_ASSESSED = - T.let( - :NO_CHALLENGE_RISK_ALREADY_ASSESSED, - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::ThreeDSRequestorChallengeIndicator::TaggedSymbol - ) - DATA_SHARE_ONLY = - T.let( - :DATA_SHARE_ONLY, - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::ThreeDSRequestorChallengeIndicator::TaggedSymbol - ) - OTHER = - T.let( - :OTHER, - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::ThreeDSRequestorChallengeIndicator::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::ThreeDSRequestorChallengeIndicator::TaggedSymbol - ] - ) - end - def self.values - end - end - - class AdditionalData < Lithic::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::AdditionalData, - Lithic::Internal::AnyHash - ) - end - - # Mastercard only: Indicates whether the network would have considered the - # authentication request to be low risk or not. - sig do - returns( - T.nilable( - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::AdditionalData::NetworkDecision::TaggedSymbol - ) - ) - end - attr_accessor :network_decision - - # Mastercard only: Assessment by the network of the authentication risk level, - # with a higher value indicating a higher amount of risk. Permitted values: - # Integer between 0-950, in increments of 50. - sig { returns(T.nilable(Integer)) } - attr_accessor :network_risk_score - - # Object containing additional data about the 3DS request that is beyond the EMV - # 3DS standard spec (e.g., specific fields that only certain card networks send - # but are not required across all 3DS requests). - sig do - params( - network_decision: - T.nilable( - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::AdditionalData::NetworkDecision::OrSymbol - ), - network_risk_score: T.nilable(Integer) - ).returns(T.attached_class) - end - def self.new( - # Mastercard only: Indicates whether the network would have considered the - # authentication request to be low risk or not. - network_decision: nil, - # Mastercard only: Assessment by the network of the authentication risk level, - # with a higher value indicating a higher amount of risk. Permitted values: - # Integer between 0-950, in increments of 50. - network_risk_score: nil - ) - end - - sig do - override.returns( - { - network_decision: - T.nilable( - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::AdditionalData::NetworkDecision::TaggedSymbol - ), - network_risk_score: T.nilable(Integer) - } - ) - end - def to_hash - end - - # Mastercard only: Indicates whether the network would have considered the - # authentication request to be low risk or not. - module NetworkDecision - extend Lithic::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::AdditionalData::NetworkDecision - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - LOW_RISK = - T.let( - :LOW_RISK, - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::AdditionalData::NetworkDecision::TaggedSymbol - ) - NOT_LOW_RISK = - T.let( - :NOT_LOW_RISK, - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::AdditionalData::NetworkDecision::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::AdditionalData::NetworkDecision::TaggedSymbol - ] - ) - end - def self.values - end - end - end - - class App < Lithic::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::App, - Lithic::Internal::AnyHash - ) - end - - # Device model: e.g. "Apple iPhone 16". - sig { returns(T.nilable(String)) } - attr_accessor :device - - # Raw device information - base64-encoded JSON object. Maps to EMV 3DS field - # `deviceInfo`. - sig { returns(T.nilable(String)) } - attr_accessor :device_info - - # IP address of the device. - sig { returns(T.nilable(String)) } - attr_reader :ip - - sig { params(ip: String).void } - attr_writer :ip - - # Latitude coordinate of current device location. - sig { returns(T.nilable(Float)) } - attr_accessor :latitude - - # Device locale: e.g. "en-US". - sig { returns(T.nilable(String)) } - attr_accessor :locale - - # Longitude coordinate of current device location. - sig { returns(T.nilable(Float)) } - attr_accessor :longitude - - # Operating System: e.g. "Android 12", "iOS 17.1". - sig { returns(T.nilable(String)) } - attr_accessor :os - - # Device platform: Android, iOS, Windows, etc. - sig { returns(T.nilable(String)) } - attr_accessor :platform - - # Screen height in pixels. - sig { returns(T.nilable(Integer)) } - attr_accessor :screen_height - - # Screen width in pixels. - sig { returns(T.nilable(Integer)) } - attr_accessor :screen_width - - # Time zone offset in minutes between UTC and device local time. - sig { returns(T.nilable(String)) } - attr_accessor :time_zone - - # Object containing data about the app used in the e-commerce transaction. Present - # if the channel is 'APP_BASED'. - sig do - params( - device: T.nilable(String), - device_info: T.nilable(String), - ip: String, - latitude: T.nilable(Float), - locale: T.nilable(String), - longitude: T.nilable(Float), - os: T.nilable(String), - platform: T.nilable(String), - screen_height: T.nilable(Integer), - screen_width: T.nilable(Integer), - time_zone: T.nilable(String) - ).returns(T.attached_class) - end - def self.new( - # Device model: e.g. "Apple iPhone 16". - device: nil, - # Raw device information - base64-encoded JSON object. Maps to EMV 3DS field - # `deviceInfo`. - device_info: nil, - # IP address of the device. - ip: nil, - # Latitude coordinate of current device location. - latitude: nil, - # Device locale: e.g. "en-US". - locale: nil, - # Longitude coordinate of current device location. - longitude: nil, - # Operating System: e.g. "Android 12", "iOS 17.1". - os: nil, - # Device platform: Android, iOS, Windows, etc. - platform: nil, - # Screen height in pixels. - screen_height: nil, - # Screen width in pixels. - screen_width: nil, - # Time zone offset in minutes between UTC and device local time. - time_zone: nil - ) - end - - sig do - override.returns( - { - device: T.nilable(String), - device_info: T.nilable(String), - ip: String, - latitude: T.nilable(Float), - locale: T.nilable(String), - longitude: T.nilable(Float), - os: T.nilable(String), - platform: T.nilable(String), - screen_height: T.nilable(Integer), - screen_width: T.nilable(Integer), - time_zone: T.nilable(String) - } - ) - end - def to_hash - end - end - - # Type of authentication request - i.e., the type of transaction or interaction is - # causing the merchant to request an authentication. Maps to EMV 3DS field - # `threeDSRequestorAuthenticationInd`. - module AuthenticationRequestType - extend Lithic::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::AuthenticationRequestType - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - ADD_CARD = - T.let( - :ADD_CARD, - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::AuthenticationRequestType::TaggedSymbol - ) - BILLING_AGREEMENT = - T.let( - :BILLING_AGREEMENT, - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::AuthenticationRequestType::TaggedSymbol - ) - DELAYED_SHIPMENT = - T.let( - :DELAYED_SHIPMENT, - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::AuthenticationRequestType::TaggedSymbol - ) - EMV_TOKEN_CARDHOLDER_VERIFICATION = - T.let( - :EMV_TOKEN_CARDHOLDER_VERIFICATION, - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::AuthenticationRequestType::TaggedSymbol - ) - INSTALLMENT_TRANSACTION = - T.let( - :INSTALLMENT_TRANSACTION, - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::AuthenticationRequestType::TaggedSymbol - ) - MAINTAIN_CARD = - T.let( - :MAINTAIN_CARD, - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::AuthenticationRequestType::TaggedSymbol - ) - PAYMENT_TRANSACTION = - T.let( - :PAYMENT_TRANSACTION, - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::AuthenticationRequestType::TaggedSymbol - ) - RECURRING_TRANSACTION = - T.let( - :RECURRING_TRANSACTION, - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::AuthenticationRequestType::TaggedSymbol - ) - SPLIT_PAYMENT = - T.let( - :SPLIT_PAYMENT, - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::AuthenticationRequestType::TaggedSymbol - ) - SPLIT_SHIPMENT = - T.let( - :SPLIT_SHIPMENT, - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::AuthenticationRequestType::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::AuthenticationRequestType::TaggedSymbol - ] - ) - end - def self.values - end - end - - class Browser < Lithic::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Browser, - Lithic::Internal::AnyHash - ) - end - - # Content of the HTTP accept headers as sent from the cardholder's browser to the - # 3DS requestor (e.g., merchant or digital wallet). - sig { returns(T.nilable(String)) } - attr_accessor :accept_header - - # IP address of the browser as returned by the HTTP headers to the 3DS requestor - # (e.g., merchant or digital wallet). Maps to EMV 3DS field `browserIP`. - sig { returns(T.nilable(String)) } - attr_accessor :ip - - # Indicates whether the cardholder's browser has the ability to execute Java. Maps - # to EMV 3DS field `browserJavaEnabled`. - sig { returns(T.nilable(T::Boolean)) } - attr_accessor :java_enabled - - # Indicates whether the cardholder's browser has the ability to execute - # JavaScript. Maps to EMV 3DS field `browserJavascriptEnabled`. - sig { returns(T.nilable(T::Boolean)) } - attr_accessor :javascript_enabled - - # Language of the cardholder's browser as defined in IETF BCP47. Maps to EMV 3DS - # field `browserLanguage`. - sig { returns(T.nilable(String)) } - attr_accessor :language - - # Time zone offset in minutes between UTC and browser local time. Maps to EMV 3DS - # field `browserTz`. - sig { returns(T.nilable(String)) } - attr_accessor :time_zone - - # Content of the HTTP user-agent header. Maps to EMV 3DS field `browserUserAgent`. - sig { returns(T.nilable(String)) } - attr_accessor :user_agent - - # Object containing data about the browser used in the e-commerce transaction. - # Present if the channel is 'BROWSER'. - sig do - params( - accept_header: T.nilable(String), - ip: T.nilable(String), - java_enabled: T.nilable(T::Boolean), - javascript_enabled: T.nilable(T::Boolean), - language: T.nilable(String), - time_zone: T.nilable(String), - user_agent: T.nilable(String) - ).returns(T.attached_class) - end - def self.new( - # Content of the HTTP accept headers as sent from the cardholder's browser to the - # 3DS requestor (e.g., merchant or digital wallet). - accept_header: nil, - # IP address of the browser as returned by the HTTP headers to the 3DS requestor - # (e.g., merchant or digital wallet). Maps to EMV 3DS field `browserIP`. - ip: nil, - # Indicates whether the cardholder's browser has the ability to execute Java. Maps - # to EMV 3DS field `browserJavaEnabled`. - java_enabled: nil, - # Indicates whether the cardholder's browser has the ability to execute - # JavaScript. Maps to EMV 3DS field `browserJavascriptEnabled`. - javascript_enabled: nil, - # Language of the cardholder's browser as defined in IETF BCP47. Maps to EMV 3DS - # field `browserLanguage`. - language: nil, - # Time zone offset in minutes between UTC and browser local time. Maps to EMV 3DS - # field `browserTz`. - time_zone: nil, - # Content of the HTTP user-agent header. Maps to EMV 3DS field `browserUserAgent`. - user_agent: nil - ) - end - - sig do - override.returns( - { - accept_header: T.nilable(String), - ip: T.nilable(String), - java_enabled: T.nilable(T::Boolean), - javascript_enabled: T.nilable(T::Boolean), - language: T.nilable(String), - time_zone: T.nilable(String), - user_agent: T.nilable(String) - } - ) - end - def to_hash - end - end - - class ChallengeMetadata < Lithic::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::ChallengeMetadata, - Lithic::Internal::AnyHash - ) - end - - # The type of challenge method used for authentication. - sig do - returns( - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::ChallengeMetadata::MethodType::TaggedSymbol - ) - 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 - - # Metadata about the challenge method and delivery. Only present when a challenge - # is triggered. - sig do - 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 - ) - end - - sig do - override.returns( - { - method_type: - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::ChallengeMetadata::MethodType::TaggedSymbol, - status: - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::ChallengeMetadata::Status::TaggedSymbol, - phone_number: T.nilable(String) - } - ) - end - def to_hash - end - - # The type of challenge method used for authentication. - module MethodType - extend Lithic::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::ChallengeMetadata::MethodType - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - SMS_OTP = - T.let( - :SMS_OTP, - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::ChallengeMetadata::MethodType::TaggedSymbol - ) - OUT_OF_BAND = - T.let( - :OUT_OF_BAND, - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::ChallengeMetadata::MethodType::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::ChallengeMetadata::MethodType::TaggedSymbol - ] - ) - end - 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 - # for which a decision has not yet been made (e.g. in-flight customer decisioning - # request). - module ChallengeOrchestratedBy - extend Lithic::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::ChallengeOrchestratedBy - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - LITHIC = - T.let( - :LITHIC, - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::ChallengeOrchestratedBy::TaggedSymbol - ) - CUSTOMER = - T.let( - :CUSTOMER, - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::ChallengeOrchestratedBy::TaggedSymbol - ) - NO_CHALLENGE = - T.let( - :NO_CHALLENGE, - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::ChallengeOrchestratedBy::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::ChallengeOrchestratedBy::TaggedSymbol - ] - ) - end - def self.values - end - end - - # Entity that made the authentication decision. This won't be set for - # authentications for which a decision has not yet been made (e.g. in-flight - # customer decisioning request). - module DecisionMadeBy - extend Lithic::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::DecisionMadeBy - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - LITHIC_RULES = - T.let( - :LITHIC_RULES, - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::DecisionMadeBy::TaggedSymbol - ) - LITHIC_DEFAULT = - T.let( - :LITHIC_DEFAULT, - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::DecisionMadeBy::TaggedSymbol - ) - CUSTOMER_RULES = - T.let( - :CUSTOMER_RULES, - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::DecisionMadeBy::TaggedSymbol - ) - CUSTOMER_ENDPOINT = - T.let( - :CUSTOMER_ENDPOINT, - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::DecisionMadeBy::TaggedSymbol - ) - NETWORK = - T.let( - :NETWORK, - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::DecisionMadeBy::TaggedSymbol - ) - UNKNOWN = - T.let( - :UNKNOWN, - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::DecisionMadeBy::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::DecisionMadeBy::TaggedSymbol - ] - ) - end - def self.values - end - end - - # Type of 3DS Requestor Initiated (3RI) request — i.e., a 3DS authentication that - # takes place at the initiation of the merchant rather than the cardholder. The - # most common example of this is where a merchant is authenticating before billing - # for a recurring transaction such as a pay TV subscription or a utility bill. - # Maps to EMV 3DS field `threeRIInd`. - module ThreeRiRequestType - extend Lithic::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::ThreeRiRequestType - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - ACCOUNT_VERIFICATION = - T.let( - :ACCOUNT_VERIFICATION, - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::ThreeRiRequestType::TaggedSymbol - ) - ADD_CARD = - T.let( - :ADD_CARD, - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::ThreeRiRequestType::TaggedSymbol - ) - BILLING_AGREEMENT = - T.let( - :BILLING_AGREEMENT, - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::ThreeRiRequestType::TaggedSymbol - ) - CARD_SECURITY_CODE_STATUS_CHECK = - T.let( - :CARD_SECURITY_CODE_STATUS_CHECK, - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::ThreeRiRequestType::TaggedSymbol - ) - DELAYED_SHIPMENT = - T.let( - :DELAYED_SHIPMENT, - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::ThreeRiRequestType::TaggedSymbol - ) - DEVICE_BINDING_STATUS_CHECK = - T.let( - :DEVICE_BINDING_STATUS_CHECK, - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::ThreeRiRequestType::TaggedSymbol - ) - INSTALLMENT_TRANSACTION = - T.let( - :INSTALLMENT_TRANSACTION, - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::ThreeRiRequestType::TaggedSymbol - ) - MAIL_ORDER = - T.let( - :MAIL_ORDER, - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::ThreeRiRequestType::TaggedSymbol - ) - MAINTAIN_CARD_INFO = - T.let( - :MAINTAIN_CARD_INFO, - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::ThreeRiRequestType::TaggedSymbol - ) - OTHER_PAYMENT = - T.let( - :OTHER_PAYMENT, - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::ThreeRiRequestType::TaggedSymbol - ) - RECURRING_TRANSACTION = - T.let( - :RECURRING_TRANSACTION, - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::ThreeRiRequestType::TaggedSymbol - ) - SPLIT_PAYMENT = - T.let( - :SPLIT_PAYMENT, - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::ThreeRiRequestType::TaggedSymbol - ) - SPLIT_SHIPMENT = - T.let( - :SPLIT_SHIPMENT, - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::ThreeRiRequestType::TaggedSymbol - ) - TELEPHONE_ORDER = - T.let( - :TELEPHONE_ORDER, - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::ThreeRiRequestType::TaggedSymbol - ) - TOP_UP = - T.let( - :TOP_UP, - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::ThreeRiRequestType::TaggedSymbol - ) - TRUST_LIST_STATUS_CHECK = - T.let( - :TRUST_LIST_STATUS_CHECK, - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::ThreeRiRequestType::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::ThreeRiRequestType::TaggedSymbol - ] - ) - end - def self.values - end - end - - class Transaction < Lithic::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Transaction, - Lithic::Internal::AnyHash - ) - end - - # Amount of the purchase in minor units of currency with all punctuation removed. - # Maps to EMV 3DS field `purchaseAmount`. - sig { returns(Float) } - attr_accessor :amount - - # Approximate amount of the purchase in minor units of cardholder currency. - # Derived from `amount` using a daily conversion rate. - sig { returns(T.nilable(Float)) } - attr_accessor :cardholder_amount - - # Currency of the purchase. Maps to EMV 3DS field `purchaseCurrency`. Permitted - # values: ISO 4217 three-character currency code (e.g., USD). - sig { returns(String) } - attr_accessor :currency - - # Minor units of currency, as specified in ISO 4217 currency exponent. Maps to EMV - # 3DS field `purchaseExponent`. - sig { returns(Float) } - attr_accessor :currency_exponent - - # Date and time when the authentication was generated by the merchant/acquirer's - # 3DS server. Maps to EMV 3DS field `purchaseDate`. Permitted values: Date string - # in the ISO 8601 format yyyy-MM-dd'T'hh:mm:ssZ. - sig { returns(Time) } - attr_accessor :date_time - - # Type of the transaction for which a 3DS authentication request is occurring. - # Maps to EMV 3DS field `transType`. - sig do - returns( - T.nilable( - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Transaction::Type::TaggedSymbol - ) - ) - end - attr_accessor :type - - # Object containing data about the e-commerce transaction for which the merchant - # is requesting authentication. - sig do - params( - amount: Float, - cardholder_amount: T.nilable(Float), - currency: String, - currency_exponent: Float, - date_time: Time, - type: - T.nilable( - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Transaction::Type::OrSymbol - ) - ).returns(T.attached_class) - end - def self.new( - # Amount of the purchase in minor units of currency with all punctuation removed. - # Maps to EMV 3DS field `purchaseAmount`. - amount:, - # Approximate amount of the purchase in minor units of cardholder currency. - # Derived from `amount` using a daily conversion rate. - cardholder_amount:, - # Currency of the purchase. Maps to EMV 3DS field `purchaseCurrency`. Permitted - # values: ISO 4217 three-character currency code (e.g., USD). - currency:, - # Minor units of currency, as specified in ISO 4217 currency exponent. Maps to EMV - # 3DS field `purchaseExponent`. - currency_exponent:, - # Date and time when the authentication was generated by the merchant/acquirer's - # 3DS server. Maps to EMV 3DS field `purchaseDate`. Permitted values: Date string - # in the ISO 8601 format yyyy-MM-dd'T'hh:mm:ssZ. - date_time:, - # Type of the transaction for which a 3DS authentication request is occurring. - # Maps to EMV 3DS field `transType`. - type: - ) - end - - sig do - override.returns( - { - amount: Float, - cardholder_amount: T.nilable(Float), - currency: String, - currency_exponent: Float, - date_time: Time, - type: - T.nilable( - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Transaction::Type::TaggedSymbol - ) - } - ) - end - def to_hash - end - - # Type of the transaction for which a 3DS authentication request is occurring. - # Maps to EMV 3DS field `transType`. - module Type - extend Lithic::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Transaction::Type - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - ACCOUNT_FUNDING = - T.let( - :ACCOUNT_FUNDING, - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Transaction::Type::TaggedSymbol - ) - CHECK_ACCEPTANCE = - T.let( - :CHECK_ACCEPTANCE, - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Transaction::Type::TaggedSymbol - ) - GOODS_SERVICE_PURCHASE = - T.let( - :GOODS_SERVICE_PURCHASE, - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Transaction::Type::TaggedSymbol - ) - PREPAID_ACTIVATION_AND_LOAD = - T.let( - :PREPAID_ACTIVATION_AND_LOAD, - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Transaction::Type::TaggedSymbol - ) - QUASI_CASH_TRANSACTION = - T.let( - :QUASI_CASH_TRANSACTION, - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Transaction::Type::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Transaction::Type::TaggedSymbol - ] - ) - end - def self.values - end - end - end - end - end - end -end diff --git a/rbi/lithic/models/three_ds_authentication.rbi b/rbi/lithic/models/three_ds_authentication.rbi new file mode 100644 index 00000000..60250948 --- /dev/null +++ b/rbi/lithic/models/three_ds_authentication.rbi @@ -0,0 +1,2432 @@ +# typed: strong + +module Lithic + module Models + class ThreeDSAuthentication < Lithic::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any(Lithic::ThreeDSAuthentication, Lithic::Internal::AnyHash) + end + + # Globally unique identifier for the 3DS authentication. Permitted values: + # 36-digit version 4 UUID (including hyphens). + sig { returns(String) } + attr_accessor :token + + # Type of account/card that is being used for the transaction. Maps to EMV 3DS + # field `acctType`. + sig do + returns( + T.nilable(Lithic::ThreeDSAuthentication::AccountType::TaggedSymbol) + ) + end + attr_accessor :account_type + + # Indicates the outcome of the 3DS authentication process. + sig do + returns( + Lithic::ThreeDSAuthentication::AuthenticationResult::TaggedSymbol + ) + end + attr_accessor :authentication_result + + # Indicates whether the expiration date provided by the cardholder during checkout + # matches Lithic's record of the card's expiration date. + sig do + returns(Lithic::ThreeDSAuthentication::CardExpiryCheck::TaggedSymbol) + end + attr_accessor :card_expiry_check + + # Globally unique identifier for the card on which the 3DS authentication has + # occurred. Permitted values: 36-digit version 4 UUID (including hyphens). + sig { returns(String) } + attr_accessor :card_token + + # Object containing data about the cardholder provided during the transaction. + sig { returns(Lithic::ThreeDSAuthentication::Cardholder) } + attr_reader :cardholder + + sig do + params( + cardholder: Lithic::ThreeDSAuthentication::Cardholder::OrHash + ).void + end + attr_writer :cardholder + + # Channel in which the authentication occurs. Maps to EMV 3DS field + # `deviceChannel`. + sig { returns(Lithic::ThreeDSAuthentication::Channel::TaggedSymbol) } + attr_accessor :channel + + # Date and time when the authentication was created in Lithic's system. Permitted + # values: Date string in the ISO 8601 format yyyy-MM-dd'T'hh:mm:ssZ. + sig { returns(Time) } + attr_accessor :created + + # Object containing data about the merchant involved in the e-commerce + # transaction. + sig { returns(Lithic::ThreeDSAuthentication::Merchant) } + attr_reader :merchant + + sig do + params(merchant: Lithic::ThreeDSAuthentication::Merchant::OrHash).void + end + attr_writer :merchant + + # Either PAYMENT_AUTHENTICATION or NON_PAYMENT_AUTHENTICATION. For + # NON_PAYMENT_AUTHENTICATION, additional_data and transaction fields are not + # populated. + sig do + returns(Lithic::ThreeDSAuthentication::MessageCategory::TaggedSymbol) + end + attr_accessor :message_category + + # Indicates whether a challenge is requested for this transaction + # + # - `NO_PREFERENCE` - No Preference + # - `NO_CHALLENGE_REQUESTED` - No Challenge Requested + # - `CHALLENGE_PREFERENCE` - Challenge requested (3DS Requestor preference) + # - `CHALLENGE_MANDATE` - Challenge requested (Mandate) + # - `NO_CHALLENGE_RISK_ALREADY_ASSESSED` - No Challenge requested (Transactional + # risk analysis is already performed) + # - `DATA_SHARE_ONLY` - No Challenge requested (Data Share Only) + # - `OTHER` - Other indicators not captured by above. These are rarely used + sig do + returns( + Lithic::ThreeDSAuthentication::ThreeDSRequestorChallengeIndicator::TaggedSymbol + ) + end + attr_accessor :three_ds_requestor_challenge_indicator + + # Object containing additional data about the 3DS request that is beyond the EMV + # 3DS standard spec (e.g., specific fields that only certain card networks send + # but are not required across all 3DS requests). + sig { returns(T.nilable(Lithic::ThreeDSAuthentication::AdditionalData)) } + attr_reader :additional_data + + sig do + params( + additional_data: + T.nilable(Lithic::ThreeDSAuthentication::AdditionalData::OrHash) + ).void + end + attr_writer :additional_data + + # Object containing data about the app used in the e-commerce transaction. Present + # if the channel is 'APP_BASED'. + sig { returns(T.nilable(Lithic::ThreeDSAuthentication::App)) } + attr_reader :app + + sig do + params(app: T.nilable(Lithic::ThreeDSAuthentication::App::OrHash)).void + end + attr_writer :app + + # Type of authentication request - i.e., the type of transaction or interaction is + # causing the merchant to request an authentication. Maps to EMV 3DS field + # `threeDSRequestorAuthenticationInd`. + sig do + returns( + T.nilable( + Lithic::ThreeDSAuthentication::AuthenticationRequestType::TaggedSymbol + ) + ) + end + attr_accessor :authentication_request_type + + # Object containing data about the browser used in the e-commerce transaction. + # Present if the channel is 'BROWSER'. + sig { returns(T.nilable(Lithic::ThreeDSAuthentication::Browser)) } + attr_reader :browser + + sig do + params( + browser: T.nilable(Lithic::ThreeDSAuthentication::Browser::OrHash) + ).void + end + attr_writer :browser + + # Metadata about the challenge method and delivery. Only present when a challenge + # is triggered. + sig do + returns(T.nilable(Lithic::ThreeDSAuthentication::ChallengeMetadata)) + end + attr_reader :challenge_metadata + + sig do + params( + challenge_metadata: + T.nilable(Lithic::ThreeDSAuthentication::ChallengeMetadata::OrHash) + ).void + end + attr_writer :challenge_metadata + + # Entity that orchestrates the challenge. This won't be set for authentications + # for which a decision has not yet been made (e.g. in-flight customer decisioning + # request). + sig do + returns( + T.nilable( + Lithic::ThreeDSAuthentication::ChallengeOrchestratedBy::TaggedSymbol + ) + ) + end + attr_accessor :challenge_orchestrated_by + + # Entity that made the authentication decision. This won't be set for + # authentications for which a decision has not yet been made (e.g. in-flight + # customer decisioning request). + sig do + returns( + T.nilable(Lithic::ThreeDSAuthentication::DecisionMadeBy::TaggedSymbol) + ) + end + attr_accessor :decision_made_by + + # Type of 3DS Requestor Initiated (3RI) request — i.e., a 3DS authentication that + # takes place at the initiation of the merchant rather than the cardholder. The + # most common example of this is where a merchant is authenticating before billing + # for a recurring transaction such as a pay TV subscription or a utility bill. + # Maps to EMV 3DS field `threeRIInd`. + sig do + returns( + T.nilable( + Lithic::ThreeDSAuthentication::ThreeRiRequestType::TaggedSymbol + ) + ) + end + attr_accessor :three_ri_request_type + + # Object containing data about the e-commerce transaction for which the merchant + # is requesting authentication. + sig { returns(T.nilable(Lithic::ThreeDSAuthentication::Transaction)) } + attr_reader :transaction + + sig do + params( + transaction: + T.nilable(Lithic::ThreeDSAuthentication::Transaction::OrHash) + ).void + end + attr_writer :transaction + + # Represents a 3DS authentication + sig do + params( + token: String, + account_type: + T.nilable(Lithic::ThreeDSAuthentication::AccountType::OrSymbol), + authentication_result: + Lithic::ThreeDSAuthentication::AuthenticationResult::OrSymbol, + card_expiry_check: + Lithic::ThreeDSAuthentication::CardExpiryCheck::OrSymbol, + card_token: String, + cardholder: Lithic::ThreeDSAuthentication::Cardholder::OrHash, + channel: Lithic::ThreeDSAuthentication::Channel::OrSymbol, + created: Time, + merchant: Lithic::ThreeDSAuthentication::Merchant::OrHash, + message_category: + Lithic::ThreeDSAuthentication::MessageCategory::OrSymbol, + three_ds_requestor_challenge_indicator: + Lithic::ThreeDSAuthentication::ThreeDSRequestorChallengeIndicator::OrSymbol, + additional_data: + T.nilable(Lithic::ThreeDSAuthentication::AdditionalData::OrHash), + app: T.nilable(Lithic::ThreeDSAuthentication::App::OrHash), + authentication_request_type: + T.nilable( + Lithic::ThreeDSAuthentication::AuthenticationRequestType::OrSymbol + ), + browser: T.nilable(Lithic::ThreeDSAuthentication::Browser::OrHash), + challenge_metadata: + T.nilable(Lithic::ThreeDSAuthentication::ChallengeMetadata::OrHash), + challenge_orchestrated_by: + T.nilable( + Lithic::ThreeDSAuthentication::ChallengeOrchestratedBy::OrSymbol + ), + decision_made_by: + T.nilable(Lithic::ThreeDSAuthentication::DecisionMadeBy::OrSymbol), + three_ri_request_type: + T.nilable( + Lithic::ThreeDSAuthentication::ThreeRiRequestType::OrSymbol + ), + transaction: + T.nilable(Lithic::ThreeDSAuthentication::Transaction::OrHash) + ).returns(T.attached_class) + end + def self.new( + # Globally unique identifier for the 3DS authentication. Permitted values: + # 36-digit version 4 UUID (including hyphens). + token:, + # Type of account/card that is being used for the transaction. Maps to EMV 3DS + # field `acctType`. + account_type:, + # Indicates the outcome of the 3DS authentication process. + authentication_result:, + # Indicates whether the expiration date provided by the cardholder during checkout + # matches Lithic's record of the card's expiration date. + card_expiry_check:, + # Globally unique identifier for the card on which the 3DS authentication has + # occurred. Permitted values: 36-digit version 4 UUID (including hyphens). + card_token:, + # Object containing data about the cardholder provided during the transaction. + cardholder:, + # Channel in which the authentication occurs. Maps to EMV 3DS field + # `deviceChannel`. + channel:, + # Date and time when the authentication was created in Lithic's system. Permitted + # values: Date string in the ISO 8601 format yyyy-MM-dd'T'hh:mm:ssZ. + created:, + # Object containing data about the merchant involved in the e-commerce + # transaction. + merchant:, + # Either PAYMENT_AUTHENTICATION or NON_PAYMENT_AUTHENTICATION. For + # NON_PAYMENT_AUTHENTICATION, additional_data and transaction fields are not + # populated. + message_category:, + # Indicates whether a challenge is requested for this transaction + # + # - `NO_PREFERENCE` - No Preference + # - `NO_CHALLENGE_REQUESTED` - No Challenge Requested + # - `CHALLENGE_PREFERENCE` - Challenge requested (3DS Requestor preference) + # - `CHALLENGE_MANDATE` - Challenge requested (Mandate) + # - `NO_CHALLENGE_RISK_ALREADY_ASSESSED` - No Challenge requested (Transactional + # risk analysis is already performed) + # - `DATA_SHARE_ONLY` - No Challenge requested (Data Share Only) + # - `OTHER` - Other indicators not captured by above. These are rarely used + three_ds_requestor_challenge_indicator:, + # Object containing additional data about the 3DS request that is beyond the EMV + # 3DS standard spec (e.g., specific fields that only certain card networks send + # but are not required across all 3DS requests). + additional_data: nil, + # Object containing data about the app used in the e-commerce transaction. Present + # if the channel is 'APP_BASED'. + app: nil, + # Type of authentication request - i.e., the type of transaction or interaction is + # causing the merchant to request an authentication. Maps to EMV 3DS field + # `threeDSRequestorAuthenticationInd`. + authentication_request_type: nil, + # Object containing data about the browser used in the e-commerce transaction. + # Present if the channel is 'BROWSER'. + browser: nil, + # Metadata about the challenge method and delivery. Only present when a challenge + # is triggered. + challenge_metadata: nil, + # Entity that orchestrates the challenge. This won't be set for authentications + # for which a decision has not yet been made (e.g. in-flight customer decisioning + # request). + challenge_orchestrated_by: nil, + # Entity that made the authentication decision. This won't be set for + # authentications for which a decision has not yet been made (e.g. in-flight + # customer decisioning request). + decision_made_by: nil, + # Type of 3DS Requestor Initiated (3RI) request — i.e., a 3DS authentication that + # takes place at the initiation of the merchant rather than the cardholder. The + # most common example of this is where a merchant is authenticating before billing + # for a recurring transaction such as a pay TV subscription or a utility bill. + # Maps to EMV 3DS field `threeRIInd`. + three_ri_request_type: nil, + # Object containing data about the e-commerce transaction for which the merchant + # is requesting authentication. + transaction: nil + ) + end + + sig do + override.returns( + { + token: String, + account_type: + T.nilable( + Lithic::ThreeDSAuthentication::AccountType::TaggedSymbol + ), + authentication_result: + Lithic::ThreeDSAuthentication::AuthenticationResult::TaggedSymbol, + card_expiry_check: + Lithic::ThreeDSAuthentication::CardExpiryCheck::TaggedSymbol, + card_token: String, + cardholder: Lithic::ThreeDSAuthentication::Cardholder, + channel: Lithic::ThreeDSAuthentication::Channel::TaggedSymbol, + created: Time, + merchant: Lithic::ThreeDSAuthentication::Merchant, + message_category: + Lithic::ThreeDSAuthentication::MessageCategory::TaggedSymbol, + three_ds_requestor_challenge_indicator: + Lithic::ThreeDSAuthentication::ThreeDSRequestorChallengeIndicator::TaggedSymbol, + additional_data: + T.nilable(Lithic::ThreeDSAuthentication::AdditionalData), + app: T.nilable(Lithic::ThreeDSAuthentication::App), + authentication_request_type: + T.nilable( + Lithic::ThreeDSAuthentication::AuthenticationRequestType::TaggedSymbol + ), + browser: T.nilable(Lithic::ThreeDSAuthentication::Browser), + challenge_metadata: + T.nilable(Lithic::ThreeDSAuthentication::ChallengeMetadata), + challenge_orchestrated_by: + T.nilable( + Lithic::ThreeDSAuthentication::ChallengeOrchestratedBy::TaggedSymbol + ), + decision_made_by: + T.nilable( + Lithic::ThreeDSAuthentication::DecisionMadeBy::TaggedSymbol + ), + three_ri_request_type: + T.nilable( + Lithic::ThreeDSAuthentication::ThreeRiRequestType::TaggedSymbol + ), + transaction: T.nilable(Lithic::ThreeDSAuthentication::Transaction) + } + ) + end + def to_hash + end + + # Type of account/card that is being used for the transaction. Maps to EMV 3DS + # field `acctType`. + module AccountType + extend Lithic::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all(Symbol, Lithic::ThreeDSAuthentication::AccountType) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + CREDIT = + T.let( + :CREDIT, + Lithic::ThreeDSAuthentication::AccountType::TaggedSymbol + ) + DEBIT = + T.let( + :DEBIT, + Lithic::ThreeDSAuthentication::AccountType::TaggedSymbol + ) + NOT_APPLICABLE = + T.let( + :NOT_APPLICABLE, + Lithic::ThreeDSAuthentication::AccountType::TaggedSymbol + ) + + sig do + override.returns( + T::Array[Lithic::ThreeDSAuthentication::AccountType::TaggedSymbol] + ) + end + def self.values + end + end + + # Indicates the outcome of the 3DS authentication process. + module AuthenticationResult + extend Lithic::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all(Symbol, Lithic::ThreeDSAuthentication::AuthenticationResult) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DECLINE = + T.let( + :DECLINE, + Lithic::ThreeDSAuthentication::AuthenticationResult::TaggedSymbol + ) + SUCCESS = + T.let( + :SUCCESS, + Lithic::ThreeDSAuthentication::AuthenticationResult::TaggedSymbol + ) + PENDING_CHALLENGE = + T.let( + :PENDING_CHALLENGE, + Lithic::ThreeDSAuthentication::AuthenticationResult::TaggedSymbol + ) + PENDING_DECISION = + T.let( + :PENDING_DECISION, + Lithic::ThreeDSAuthentication::AuthenticationResult::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Lithic::ThreeDSAuthentication::AuthenticationResult::TaggedSymbol + ] + ) + end + def self.values + end + end + + # Indicates whether the expiration date provided by the cardholder during checkout + # matches Lithic's record of the card's expiration date. + module CardExpiryCheck + extend Lithic::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all(Symbol, Lithic::ThreeDSAuthentication::CardExpiryCheck) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + MATCH = + T.let( + :MATCH, + Lithic::ThreeDSAuthentication::CardExpiryCheck::TaggedSymbol + ) + MISMATCH = + T.let( + :MISMATCH, + Lithic::ThreeDSAuthentication::CardExpiryCheck::TaggedSymbol + ) + NOT_PRESENT = + T.let( + :NOT_PRESENT, + Lithic::ThreeDSAuthentication::CardExpiryCheck::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Lithic::ThreeDSAuthentication::CardExpiryCheck::TaggedSymbol + ] + ) + end + def self.values + end + end + + class Cardholder < Lithic::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Lithic::ThreeDSAuthentication::Cardholder, + Lithic::Internal::AnyHash + ) + end + + # Indicates whether the shipping address and billing address provided by the + # cardholder are the same. This value - and assessment of whether the addresses + # match - is provided directly in the 3DS request and is not determined by Lithic. + # Maps to EMV 3DS field `addrMatch`. + sig { returns(T.nilable(T::Boolean)) } + attr_accessor :address_match + + # Lithic's evaluation result comparing the transaction's address data with the + # cardholder KYC data if it exists. In the event Lithic does not have any + # Cardholder KYC data, or the transaction does not contain any address data, + # NOT_PRESENT will be returned + sig do + returns( + T.nilable( + Lithic::ThreeDSAuthentication::Cardholder::AddressOnFileMatch::TaggedSymbol + ) + ) + end + attr_reader :address_on_file_match + + sig do + params( + address_on_file_match: + Lithic::ThreeDSAuthentication::Cardholder::AddressOnFileMatch::OrSymbol + ).void + end + attr_writer :address_on_file_match + + # Object containing data on the billing address provided during the transaction. + sig do + returns( + T.nilable(Lithic::ThreeDSAuthentication::Cardholder::BillingAddress) + ) + end + attr_reader :billing_address + + sig do + params( + billing_address: + Lithic::ThreeDSAuthentication::Cardholder::BillingAddress::OrHash + ).void + end + attr_writer :billing_address + + # Email address that is either provided by the cardholder or is on file with the + # merchant in a 3RI request. Maps to EMV 3DS field `email`. + sig { returns(T.nilable(String)) } + attr_accessor :email + + # Name of the cardholder. Maps to EMV 3DS field `cardholderName`. + sig { returns(T.nilable(String)) } + attr_accessor :name + + # Home phone number in E.164 format provided by the cardholder. Maps to EMV 3DS + # fields `homePhone.cc` and `homePhone.subscriber`. + sig { returns(T.nilable(String)) } + attr_accessor :phone_number_home + + # Mobile/cell phone number in E.164 format provided by the cardholder. Maps to EMV + # 3DS fields `mobilePhone.cc` and `mobilePhone.subscriber`. + sig { returns(T.nilable(String)) } + attr_accessor :phone_number_mobile + + # Work phone number in E.164 format provided by the cardholder. Maps to EMV 3DS + # fields `workPhone.cc` and `workPhone.subscriber`. + sig { returns(T.nilable(String)) } + attr_accessor :phone_number_work + + # Object containing data on the shipping address provided during the transaction. + sig do + returns( + T.nilable( + Lithic::ThreeDSAuthentication::Cardholder::ShippingAddress + ) + ) + end + attr_reader :shipping_address + + sig do + params( + shipping_address: + Lithic::ThreeDSAuthentication::Cardholder::ShippingAddress::OrHash + ).void + end + attr_writer :shipping_address + + # Object containing data about the cardholder provided during the transaction. + sig do + params( + address_match: T.nilable(T::Boolean), + address_on_file_match: + Lithic::ThreeDSAuthentication::Cardholder::AddressOnFileMatch::OrSymbol, + billing_address: + Lithic::ThreeDSAuthentication::Cardholder::BillingAddress::OrHash, + email: T.nilable(String), + name: T.nilable(String), + phone_number_home: T.nilable(String), + phone_number_mobile: T.nilable(String), + phone_number_work: T.nilable(String), + shipping_address: + Lithic::ThreeDSAuthentication::Cardholder::ShippingAddress::OrHash + ).returns(T.attached_class) + end + def self.new( + # Indicates whether the shipping address and billing address provided by the + # cardholder are the same. This value - and assessment of whether the addresses + # match - is provided directly in the 3DS request and is not determined by Lithic. + # Maps to EMV 3DS field `addrMatch`. + address_match: nil, + # Lithic's evaluation result comparing the transaction's address data with the + # cardholder KYC data if it exists. In the event Lithic does not have any + # Cardholder KYC data, or the transaction does not contain any address data, + # NOT_PRESENT will be returned + address_on_file_match: nil, + # Object containing data on the billing address provided during the transaction. + billing_address: nil, + # Email address that is either provided by the cardholder or is on file with the + # merchant in a 3RI request. Maps to EMV 3DS field `email`. + email: nil, + # Name of the cardholder. Maps to EMV 3DS field `cardholderName`. + name: nil, + # Home phone number in E.164 format provided by the cardholder. Maps to EMV 3DS + # fields `homePhone.cc` and `homePhone.subscriber`. + phone_number_home: nil, + # Mobile/cell phone number in E.164 format provided by the cardholder. Maps to EMV + # 3DS fields `mobilePhone.cc` and `mobilePhone.subscriber`. + phone_number_mobile: nil, + # Work phone number in E.164 format provided by the cardholder. Maps to EMV 3DS + # fields `workPhone.cc` and `workPhone.subscriber`. + phone_number_work: nil, + # Object containing data on the shipping address provided during the transaction. + shipping_address: nil + ) + end + + sig do + override.returns( + { + address_match: T.nilable(T::Boolean), + address_on_file_match: + Lithic::ThreeDSAuthentication::Cardholder::AddressOnFileMatch::TaggedSymbol, + billing_address: + Lithic::ThreeDSAuthentication::Cardholder::BillingAddress, + email: T.nilable(String), + name: T.nilable(String), + phone_number_home: T.nilable(String), + phone_number_mobile: T.nilable(String), + phone_number_work: T.nilable(String), + shipping_address: + Lithic::ThreeDSAuthentication::Cardholder::ShippingAddress + } + ) + end + def to_hash + end + + # Lithic's evaluation result comparing the transaction's address data with the + # cardholder KYC data if it exists. In the event Lithic does not have any + # Cardholder KYC data, or the transaction does not contain any address data, + # NOT_PRESENT will be returned + module AddressOnFileMatch + extend Lithic::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Lithic::ThreeDSAuthentication::Cardholder::AddressOnFileMatch + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + MATCH = + T.let( + :MATCH, + Lithic::ThreeDSAuthentication::Cardholder::AddressOnFileMatch::TaggedSymbol + ) + MATCH_ADDRESS_ONLY = + T.let( + :MATCH_ADDRESS_ONLY, + Lithic::ThreeDSAuthentication::Cardholder::AddressOnFileMatch::TaggedSymbol + ) + MATCH_ZIP_ONLY = + T.let( + :MATCH_ZIP_ONLY, + Lithic::ThreeDSAuthentication::Cardholder::AddressOnFileMatch::TaggedSymbol + ) + MISMATCH = + T.let( + :MISMATCH, + Lithic::ThreeDSAuthentication::Cardholder::AddressOnFileMatch::TaggedSymbol + ) + NOT_PRESENT = + T.let( + :NOT_PRESENT, + Lithic::ThreeDSAuthentication::Cardholder::AddressOnFileMatch::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Lithic::ThreeDSAuthentication::Cardholder::AddressOnFileMatch::TaggedSymbol + ] + ) + end + def self.values + end + end + + class BillingAddress < Lithic::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Lithic::ThreeDSAuthentication::Cardholder::BillingAddress, + Lithic::Internal::AnyHash + ) + end + + # First line of the street address provided by the cardholder. + sig { returns(T.nilable(String)) } + attr_accessor :address1 + + # Second line of the street address provided by the cardholder. + sig { returns(T.nilable(String)) } + attr_accessor :address2 + + # Third line of the street address provided by the cardholder. + sig { returns(T.nilable(String)) } + attr_accessor :address3 + + # City of the address provided by the cardholder. + sig { returns(T.nilable(String)) } + attr_accessor :city + + # Country of the address provided by the cardholder in ISO 3166-1 alpha-3 format + # (e.g. USA) + sig { returns(T.nilable(String)) } + attr_accessor :country + + # Postal code (e.g., ZIP code) of the address provided by the cardholder + sig { returns(T.nilable(String)) } + attr_accessor :postal_code + + # Object containing data on the billing address provided during the transaction. + sig do + params( + address1: T.nilable(String), + address2: T.nilable(String), + address3: T.nilable(String), + city: T.nilable(String), + country: T.nilable(String), + postal_code: T.nilable(String) + ).returns(T.attached_class) + end + def self.new( + # First line of the street address provided by the cardholder. + address1: nil, + # Second line of the street address provided by the cardholder. + address2: nil, + # Third line of the street address provided by the cardholder. + address3: nil, + # City of the address provided by the cardholder. + city: nil, + # Country of the address provided by the cardholder in ISO 3166-1 alpha-3 format + # (e.g. USA) + country: nil, + # Postal code (e.g., ZIP code) of the address provided by the cardholder + postal_code: nil + ) + end + + sig do + override.returns( + { + address1: T.nilable(String), + address2: T.nilable(String), + address3: T.nilable(String), + city: T.nilable(String), + country: T.nilable(String), + postal_code: T.nilable(String) + } + ) + end + def to_hash + end + end + + class ShippingAddress < Lithic::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Lithic::ThreeDSAuthentication::Cardholder::ShippingAddress, + Lithic::Internal::AnyHash + ) + end + + # First line of the street address provided by the cardholder. + sig { returns(T.nilable(String)) } + attr_accessor :address1 + + # Second line of the street address provided by the cardholder. + sig { returns(T.nilable(String)) } + attr_accessor :address2 + + # Third line of the street address provided by the cardholder. + sig { returns(T.nilable(String)) } + attr_accessor :address3 + + # City of the address provided by the cardholder. + sig { returns(T.nilable(String)) } + attr_accessor :city + + # Country of the address provided by the cardholder in ISO 3166-1 alpha-3 format + # (e.g. USA) + sig { returns(T.nilable(String)) } + attr_accessor :country + + # Postal code (e.g., ZIP code) of the address provided by the cardholder + sig { returns(T.nilable(String)) } + attr_accessor :postal_code + + # Object containing data on the shipping address provided during the transaction. + sig do + params( + address1: T.nilable(String), + address2: T.nilable(String), + address3: T.nilable(String), + city: T.nilable(String), + country: T.nilable(String), + postal_code: T.nilable(String) + ).returns(T.attached_class) + end + def self.new( + # First line of the street address provided by the cardholder. + address1: nil, + # Second line of the street address provided by the cardholder. + address2: nil, + # Third line of the street address provided by the cardholder. + address3: nil, + # City of the address provided by the cardholder. + city: nil, + # Country of the address provided by the cardholder in ISO 3166-1 alpha-3 format + # (e.g. USA) + country: nil, + # Postal code (e.g., ZIP code) of the address provided by the cardholder + postal_code: nil + ) + end + + sig do + override.returns( + { + address1: T.nilable(String), + address2: T.nilable(String), + address3: T.nilable(String), + city: T.nilable(String), + country: T.nilable(String), + postal_code: T.nilable(String) + } + ) + end + def to_hash + end + end + end + + # Channel in which the authentication occurs. Maps to EMV 3DS field + # `deviceChannel`. + module Channel + extend Lithic::Internal::Type::Enum + + TaggedSymbol = + T.type_alias { T.all(Symbol, Lithic::ThreeDSAuthentication::Channel) } + OrSymbol = T.type_alias { T.any(Symbol, String) } + + APP_BASED = + T.let( + :APP_BASED, + Lithic::ThreeDSAuthentication::Channel::TaggedSymbol + ) + BROWSER = + T.let(:BROWSER, Lithic::ThreeDSAuthentication::Channel::TaggedSymbol) + THREE_DS_REQUESTOR_INITIATED = + T.let( + :THREE_DS_REQUESTOR_INITIATED, + Lithic::ThreeDSAuthentication::Channel::TaggedSymbol + ) + + sig do + override.returns( + T::Array[Lithic::ThreeDSAuthentication::Channel::TaggedSymbol] + ) + end + def self.values + end + end + + class Merchant < Lithic::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Lithic::ThreeDSAuthentication::Merchant, + Lithic::Internal::AnyHash + ) + end + + # Object containing additional data indicating additional risk factors related to + # the e-commerce transaction. + sig { returns(Lithic::ThreeDSAuthentication::Merchant::RiskIndicator) } + attr_reader :risk_indicator + + sig do + params( + risk_indicator: + Lithic::ThreeDSAuthentication::Merchant::RiskIndicator::OrHash + ).void + end + attr_writer :risk_indicator + + # Merchant identifier as assigned by the acquirer. Maps to EMV 3DS field + # `acquirerMerchantId`. May not be present for non-payment authentications. + sig { returns(T.nilable(String)) } + attr_accessor :id + + # Country code of the merchant requesting 3DS authentication. Maps to EMV 3DS + # field `merchantCountryCode`. Permitted values: ISO 3166-1 alpha-3 country code + # (e.g., USA). May not be present for non-payment authentications. + sig { returns(T.nilable(String)) } + attr_accessor :country + + # Merchant category code assigned to the merchant that describes its business + # activity type. Maps to EMV 3DS field `mcc`. May not be present for non-payment + # authentications. + sig { returns(T.nilable(String)) } + attr_accessor :mcc + + # Name of the merchant. Maps to EMV 3DS field `merchantName`. May not be present + # for non-payment authentications. + sig { returns(T.nilable(String)) } + attr_accessor :name + + # Object containing data about the merchant involved in the e-commerce + # transaction. + sig do + params( + risk_indicator: + Lithic::ThreeDSAuthentication::Merchant::RiskIndicator::OrHash, + id: T.nilable(String), + country: T.nilable(String), + mcc: T.nilable(String), + name: T.nilable(String) + ).returns(T.attached_class) + end + def self.new( + # Object containing additional data indicating additional risk factors related to + # the e-commerce transaction. + risk_indicator:, + # Merchant identifier as assigned by the acquirer. Maps to EMV 3DS field + # `acquirerMerchantId`. May not be present for non-payment authentications. + id: nil, + # Country code of the merchant requesting 3DS authentication. Maps to EMV 3DS + # field `merchantCountryCode`. Permitted values: ISO 3166-1 alpha-3 country code + # (e.g., USA). May not be present for non-payment authentications. + country: nil, + # Merchant category code assigned to the merchant that describes its business + # activity type. Maps to EMV 3DS field `mcc`. May not be present for non-payment + # authentications. + mcc: nil, + # Name of the merchant. Maps to EMV 3DS field `merchantName`. May not be present + # for non-payment authentications. + name: nil + ) + end + + sig do + override.returns( + { + risk_indicator: + Lithic::ThreeDSAuthentication::Merchant::RiskIndicator, + id: T.nilable(String), + country: T.nilable(String), + mcc: T.nilable(String), + name: T.nilable(String) + } + ) + end + def to_hash + end + + class RiskIndicator < Lithic::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Lithic::ThreeDSAuthentication::Merchant::RiskIndicator, + Lithic::Internal::AnyHash + ) + end + + # In transactions with electronic delivery, email address to which merchandise is + # delivered. Maps to EMV 3DS field `deliveryEmailAddress`. + sig { returns(T.nilable(String)) } + attr_accessor :delivery_email_address + + # The delivery time frame for the merchandise. Maps to EMV 3DS field + # `deliveryTimeframe`. + sig do + returns( + T.nilable( + Lithic::ThreeDSAuthentication::Merchant::RiskIndicator::DeliveryTimeFrame::TaggedSymbol + ) + ) + end + attr_accessor :delivery_time_frame + + # In prepaid or gift card purchase transactions, purchase amount total in major + # units (e.g., a purchase of USD $205.10 would be 205). Maps to EMV 3DS field + # `giftCardAmount`. + sig { returns(T.nilable(Integer)) } + attr_accessor :gift_card_amount + + # In prepaid or gift card purchase transactions, count of individual prepaid or + # gift cards/codes purchased. Maps to EMV 3DS field `giftCardCount`. + sig { returns(T.nilable(Integer)) } + attr_accessor :gift_card_count + + # In prepaid or gift card purchase transactions, currency code of the gift card. + # Maps to EMV 3DS field `giftCardCurr`. Permitted values: ISO 4217 three-character + # currency code (e.g., USD). + sig { returns(T.nilable(String)) } + attr_accessor :gift_card_currency + + # Indicates whether the purchase is for merchandise that is available now or at a + # future date. Maps to EMV 3DS field `preOrderPurchaseInd`. + sig do + returns( + T.nilable( + Lithic::ThreeDSAuthentication::Merchant::RiskIndicator::OrderAvailability::TaggedSymbol + ) + ) + end + attr_accessor :order_availability + + # In pre-order purchase transactions, the expected date that the merchandise will + # be available. Maps to EMV 3DS field `preOrderDate`. Permitted values: Date + # string in the ISO 8601 format yyyy-MM-dd'T'hh:mm:ssZ + sig { returns(T.nilable(Time)) } + attr_accessor :pre_order_available_date + + # Indicates whether the cardholder is reordering previously purchased merchandise. + # Maps to EMV 3DS field `reorderItemsInd`. + sig do + returns( + T.nilable( + Lithic::ThreeDSAuthentication::Merchant::RiskIndicator::ReorderItems::TaggedSymbol + ) + ) + end + attr_accessor :reorder_items + + # Shipping method that the cardholder chose for the transaction. If purchase + # includes one or more item, this indicator is used for the physical goods; if the + # purchase only includes digital goods, this indicator is used to describe the + # most expensive item purchased. Maps to EMV 3DS field `shipIndicator`. + sig do + returns( + T.nilable( + Lithic::ThreeDSAuthentication::Merchant::RiskIndicator::ShippingMethod::TaggedSymbol + ) + ) + end + attr_accessor :shipping_method + + # Object containing additional data indicating additional risk factors related to + # the e-commerce transaction. + sig do + params( + delivery_email_address: T.nilable(String), + delivery_time_frame: + T.nilable( + Lithic::ThreeDSAuthentication::Merchant::RiskIndicator::DeliveryTimeFrame::OrSymbol + ), + gift_card_amount: T.nilable(Integer), + gift_card_count: T.nilable(Integer), + gift_card_currency: T.nilable(String), + order_availability: + T.nilable( + Lithic::ThreeDSAuthentication::Merchant::RiskIndicator::OrderAvailability::OrSymbol + ), + pre_order_available_date: T.nilable(Time), + reorder_items: + T.nilable( + Lithic::ThreeDSAuthentication::Merchant::RiskIndicator::ReorderItems::OrSymbol + ), + shipping_method: + T.nilable( + Lithic::ThreeDSAuthentication::Merchant::RiskIndicator::ShippingMethod::OrSymbol + ) + ).returns(T.attached_class) + end + def self.new( + # In transactions with electronic delivery, email address to which merchandise is + # delivered. Maps to EMV 3DS field `deliveryEmailAddress`. + delivery_email_address: nil, + # The delivery time frame for the merchandise. Maps to EMV 3DS field + # `deliveryTimeframe`. + delivery_time_frame: nil, + # In prepaid or gift card purchase transactions, purchase amount total in major + # units (e.g., a purchase of USD $205.10 would be 205). Maps to EMV 3DS field + # `giftCardAmount`. + gift_card_amount: nil, + # In prepaid or gift card purchase transactions, count of individual prepaid or + # gift cards/codes purchased. Maps to EMV 3DS field `giftCardCount`. + gift_card_count: nil, + # In prepaid or gift card purchase transactions, currency code of the gift card. + # Maps to EMV 3DS field `giftCardCurr`. Permitted values: ISO 4217 three-character + # currency code (e.g., USD). + gift_card_currency: nil, + # Indicates whether the purchase is for merchandise that is available now or at a + # future date. Maps to EMV 3DS field `preOrderPurchaseInd`. + order_availability: nil, + # In pre-order purchase transactions, the expected date that the merchandise will + # be available. Maps to EMV 3DS field `preOrderDate`. Permitted values: Date + # string in the ISO 8601 format yyyy-MM-dd'T'hh:mm:ssZ + pre_order_available_date: nil, + # Indicates whether the cardholder is reordering previously purchased merchandise. + # Maps to EMV 3DS field `reorderItemsInd`. + reorder_items: nil, + # Shipping method that the cardholder chose for the transaction. If purchase + # includes one or more item, this indicator is used for the physical goods; if the + # purchase only includes digital goods, this indicator is used to describe the + # most expensive item purchased. Maps to EMV 3DS field `shipIndicator`. + shipping_method: nil + ) + end + + sig do + override.returns( + { + delivery_email_address: T.nilable(String), + delivery_time_frame: + T.nilable( + Lithic::ThreeDSAuthentication::Merchant::RiskIndicator::DeliveryTimeFrame::TaggedSymbol + ), + gift_card_amount: T.nilable(Integer), + gift_card_count: T.nilable(Integer), + gift_card_currency: T.nilable(String), + order_availability: + T.nilable( + Lithic::ThreeDSAuthentication::Merchant::RiskIndicator::OrderAvailability::TaggedSymbol + ), + pre_order_available_date: T.nilable(Time), + reorder_items: + T.nilable( + Lithic::ThreeDSAuthentication::Merchant::RiskIndicator::ReorderItems::TaggedSymbol + ), + shipping_method: + T.nilable( + Lithic::ThreeDSAuthentication::Merchant::RiskIndicator::ShippingMethod::TaggedSymbol + ) + } + ) + end + def to_hash + end + + # The delivery time frame for the merchandise. Maps to EMV 3DS field + # `deliveryTimeframe`. + module DeliveryTimeFrame + extend Lithic::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Lithic::ThreeDSAuthentication::Merchant::RiskIndicator::DeliveryTimeFrame + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + ELECTRONIC_DELIVERY = + T.let( + :ELECTRONIC_DELIVERY, + Lithic::ThreeDSAuthentication::Merchant::RiskIndicator::DeliveryTimeFrame::TaggedSymbol + ) + OVERNIGHT_SHIPPING = + T.let( + :OVERNIGHT_SHIPPING, + Lithic::ThreeDSAuthentication::Merchant::RiskIndicator::DeliveryTimeFrame::TaggedSymbol + ) + SAME_DAY_SHIPPING = + T.let( + :SAME_DAY_SHIPPING, + Lithic::ThreeDSAuthentication::Merchant::RiskIndicator::DeliveryTimeFrame::TaggedSymbol + ) + TWO_DAY_OR_MORE_SHIPPING = + T.let( + :TWO_DAY_OR_MORE_SHIPPING, + Lithic::ThreeDSAuthentication::Merchant::RiskIndicator::DeliveryTimeFrame::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Lithic::ThreeDSAuthentication::Merchant::RiskIndicator::DeliveryTimeFrame::TaggedSymbol + ] + ) + end + def self.values + end + end + + # Indicates whether the purchase is for merchandise that is available now or at a + # future date. Maps to EMV 3DS field `preOrderPurchaseInd`. + module OrderAvailability + extend Lithic::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Lithic::ThreeDSAuthentication::Merchant::RiskIndicator::OrderAvailability + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + FUTURE_AVAILABILITY = + T.let( + :FUTURE_AVAILABILITY, + Lithic::ThreeDSAuthentication::Merchant::RiskIndicator::OrderAvailability::TaggedSymbol + ) + MERCHANDISE_AVAILABLE = + T.let( + :MERCHANDISE_AVAILABLE, + Lithic::ThreeDSAuthentication::Merchant::RiskIndicator::OrderAvailability::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Lithic::ThreeDSAuthentication::Merchant::RiskIndicator::OrderAvailability::TaggedSymbol + ] + ) + end + def self.values + end + end + + # Indicates whether the cardholder is reordering previously purchased merchandise. + # Maps to EMV 3DS field `reorderItemsInd`. + module ReorderItems + extend Lithic::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Lithic::ThreeDSAuthentication::Merchant::RiskIndicator::ReorderItems + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + FIRST_TIME_ORDERED = + T.let( + :FIRST_TIME_ORDERED, + Lithic::ThreeDSAuthentication::Merchant::RiskIndicator::ReorderItems::TaggedSymbol + ) + REORDERED = + T.let( + :REORDERED, + Lithic::ThreeDSAuthentication::Merchant::RiskIndicator::ReorderItems::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Lithic::ThreeDSAuthentication::Merchant::RiskIndicator::ReorderItems::TaggedSymbol + ] + ) + end + def self.values + end + end + + # Shipping method that the cardholder chose for the transaction. If purchase + # includes one or more item, this indicator is used for the physical goods; if the + # purchase only includes digital goods, this indicator is used to describe the + # most expensive item purchased. Maps to EMV 3DS field `shipIndicator`. + module ShippingMethod + extend Lithic::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Lithic::ThreeDSAuthentication::Merchant::RiskIndicator::ShippingMethod + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DIGITAL_GOODS = + T.let( + :DIGITAL_GOODS, + Lithic::ThreeDSAuthentication::Merchant::RiskIndicator::ShippingMethod::TaggedSymbol + ) + LOCKER_DELIVERY = + T.let( + :LOCKER_DELIVERY, + Lithic::ThreeDSAuthentication::Merchant::RiskIndicator::ShippingMethod::TaggedSymbol + ) + OTHER = + T.let( + :OTHER, + Lithic::ThreeDSAuthentication::Merchant::RiskIndicator::ShippingMethod::TaggedSymbol + ) + PICK_UP_AND_GO_DELIVERY = + T.let( + :PICK_UP_AND_GO_DELIVERY, + Lithic::ThreeDSAuthentication::Merchant::RiskIndicator::ShippingMethod::TaggedSymbol + ) + SHIP_TO_BILLING_ADDRESS = + T.let( + :SHIP_TO_BILLING_ADDRESS, + Lithic::ThreeDSAuthentication::Merchant::RiskIndicator::ShippingMethod::TaggedSymbol + ) + SHIP_TO_NON_BILLING_ADDRESS = + T.let( + :SHIP_TO_NON_BILLING_ADDRESS, + Lithic::ThreeDSAuthentication::Merchant::RiskIndicator::ShippingMethod::TaggedSymbol + ) + SHIP_TO_OTHER_VERIFIED_ADDRESS = + T.let( + :SHIP_TO_OTHER_VERIFIED_ADDRESS, + Lithic::ThreeDSAuthentication::Merchant::RiskIndicator::ShippingMethod::TaggedSymbol + ) + SHIP_TO_STORE = + T.let( + :SHIP_TO_STORE, + Lithic::ThreeDSAuthentication::Merchant::RiskIndicator::ShippingMethod::TaggedSymbol + ) + TRAVEL_AND_EVENT_TICKETS = + T.let( + :TRAVEL_AND_EVENT_TICKETS, + Lithic::ThreeDSAuthentication::Merchant::RiskIndicator::ShippingMethod::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Lithic::ThreeDSAuthentication::Merchant::RiskIndicator::ShippingMethod::TaggedSymbol + ] + ) + end + def self.values + end + end + end + end + + # Either PAYMENT_AUTHENTICATION or NON_PAYMENT_AUTHENTICATION. For + # NON_PAYMENT_AUTHENTICATION, additional_data and transaction fields are not + # populated. + module MessageCategory + extend Lithic::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all(Symbol, Lithic::ThreeDSAuthentication::MessageCategory) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + NON_PAYMENT_AUTHENTICATION = + T.let( + :NON_PAYMENT_AUTHENTICATION, + Lithic::ThreeDSAuthentication::MessageCategory::TaggedSymbol + ) + PAYMENT_AUTHENTICATION = + T.let( + :PAYMENT_AUTHENTICATION, + Lithic::ThreeDSAuthentication::MessageCategory::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Lithic::ThreeDSAuthentication::MessageCategory::TaggedSymbol + ] + ) + end + def self.values + end + end + + # Indicates whether a challenge is requested for this transaction + # + # - `NO_PREFERENCE` - No Preference + # - `NO_CHALLENGE_REQUESTED` - No Challenge Requested + # - `CHALLENGE_PREFERENCE` - Challenge requested (3DS Requestor preference) + # - `CHALLENGE_MANDATE` - Challenge requested (Mandate) + # - `NO_CHALLENGE_RISK_ALREADY_ASSESSED` - No Challenge requested (Transactional + # risk analysis is already performed) + # - `DATA_SHARE_ONLY` - No Challenge requested (Data Share Only) + # - `OTHER` - Other indicators not captured by above. These are rarely used + module ThreeDSRequestorChallengeIndicator + extend Lithic::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Lithic::ThreeDSAuthentication::ThreeDSRequestorChallengeIndicator + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + NO_PREFERENCE = + T.let( + :NO_PREFERENCE, + Lithic::ThreeDSAuthentication::ThreeDSRequestorChallengeIndicator::TaggedSymbol + ) + NO_CHALLENGE_REQUESTED = + T.let( + :NO_CHALLENGE_REQUESTED, + Lithic::ThreeDSAuthentication::ThreeDSRequestorChallengeIndicator::TaggedSymbol + ) + CHALLENGE_PREFERENCE = + T.let( + :CHALLENGE_PREFERENCE, + Lithic::ThreeDSAuthentication::ThreeDSRequestorChallengeIndicator::TaggedSymbol + ) + CHALLENGE_MANDATE = + T.let( + :CHALLENGE_MANDATE, + Lithic::ThreeDSAuthentication::ThreeDSRequestorChallengeIndicator::TaggedSymbol + ) + NO_CHALLENGE_RISK_ALREADY_ASSESSED = + T.let( + :NO_CHALLENGE_RISK_ALREADY_ASSESSED, + Lithic::ThreeDSAuthentication::ThreeDSRequestorChallengeIndicator::TaggedSymbol + ) + DATA_SHARE_ONLY = + T.let( + :DATA_SHARE_ONLY, + Lithic::ThreeDSAuthentication::ThreeDSRequestorChallengeIndicator::TaggedSymbol + ) + OTHER = + T.let( + :OTHER, + Lithic::ThreeDSAuthentication::ThreeDSRequestorChallengeIndicator::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Lithic::ThreeDSAuthentication::ThreeDSRequestorChallengeIndicator::TaggedSymbol + ] + ) + end + def self.values + end + end + + class AdditionalData < Lithic::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Lithic::ThreeDSAuthentication::AdditionalData, + Lithic::Internal::AnyHash + ) + end + + # Mastercard only: Indicates whether the network would have considered the + # authentication request to be low risk or not. + sig do + returns( + T.nilable( + Lithic::ThreeDSAuthentication::AdditionalData::NetworkDecision::TaggedSymbol + ) + ) + end + attr_accessor :network_decision + + # Mastercard only: Assessment by the network of the authentication risk level, + # with a higher value indicating a higher amount of risk. Permitted values: + # Integer between 0-950, in increments of 50. + sig { returns(T.nilable(Integer)) } + attr_accessor :network_risk_score + + # Object containing additional data about the 3DS request that is beyond the EMV + # 3DS standard spec (e.g., specific fields that only certain card networks send + # but are not required across all 3DS requests). + sig do + params( + network_decision: + T.nilable( + Lithic::ThreeDSAuthentication::AdditionalData::NetworkDecision::OrSymbol + ), + network_risk_score: T.nilable(Integer) + ).returns(T.attached_class) + end + def self.new( + # Mastercard only: Indicates whether the network would have considered the + # authentication request to be low risk or not. + network_decision: nil, + # Mastercard only: Assessment by the network of the authentication risk level, + # with a higher value indicating a higher amount of risk. Permitted values: + # Integer between 0-950, in increments of 50. + network_risk_score: nil + ) + end + + sig do + override.returns( + { + network_decision: + T.nilable( + Lithic::ThreeDSAuthentication::AdditionalData::NetworkDecision::TaggedSymbol + ), + network_risk_score: T.nilable(Integer) + } + ) + end + def to_hash + end + + # Mastercard only: Indicates whether the network would have considered the + # authentication request to be low risk or not. + module NetworkDecision + extend Lithic::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Lithic::ThreeDSAuthentication::AdditionalData::NetworkDecision + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + LOW_RISK = + T.let( + :LOW_RISK, + Lithic::ThreeDSAuthentication::AdditionalData::NetworkDecision::TaggedSymbol + ) + NOT_LOW_RISK = + T.let( + :NOT_LOW_RISK, + Lithic::ThreeDSAuthentication::AdditionalData::NetworkDecision::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Lithic::ThreeDSAuthentication::AdditionalData::NetworkDecision::TaggedSymbol + ] + ) + end + def self.values + end + end + end + + class App < Lithic::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any(Lithic::ThreeDSAuthentication::App, Lithic::Internal::AnyHash) + end + + # Device model: e.g. "Apple iPhone 16". + sig { returns(T.nilable(String)) } + attr_accessor :device + + # Raw device information - base64-encoded JSON object. Maps to EMV 3DS field + # `deviceInfo`. + sig { returns(T.nilable(String)) } + attr_accessor :device_info + + # IP address of the device. + sig { returns(T.nilable(String)) } + attr_reader :ip + + sig { params(ip: String).void } + attr_writer :ip + + # Latitude coordinate of current device location. + sig { returns(T.nilable(Float)) } + attr_accessor :latitude + + # Device locale: e.g. "en-US". + sig { returns(T.nilable(String)) } + attr_accessor :locale + + # Longitude coordinate of current device location. + sig { returns(T.nilable(Float)) } + attr_accessor :longitude + + # Operating System: e.g. "Android 12", "iOS 17.1". + sig { returns(T.nilable(String)) } + attr_accessor :os + + # Device platform: Android, iOS, Windows, etc. + sig { returns(T.nilable(String)) } + attr_accessor :platform + + # Screen height in pixels. + sig { returns(T.nilable(Integer)) } + attr_accessor :screen_height + + # Screen width in pixels. + sig { returns(T.nilable(Integer)) } + attr_accessor :screen_width + + # Time zone offset in minutes between UTC and device local time. + sig { returns(T.nilable(String)) } + attr_accessor :time_zone + + # Object containing data about the app used in the e-commerce transaction. Present + # if the channel is 'APP_BASED'. + sig do + params( + device: T.nilable(String), + device_info: T.nilable(String), + ip: String, + latitude: T.nilable(Float), + locale: T.nilable(String), + longitude: T.nilable(Float), + os: T.nilable(String), + platform: T.nilable(String), + screen_height: T.nilable(Integer), + screen_width: T.nilable(Integer), + time_zone: T.nilable(String) + ).returns(T.attached_class) + end + def self.new( + # Device model: e.g. "Apple iPhone 16". + device: nil, + # Raw device information - base64-encoded JSON object. Maps to EMV 3DS field + # `deviceInfo`. + device_info: nil, + # IP address of the device. + ip: nil, + # Latitude coordinate of current device location. + latitude: nil, + # Device locale: e.g. "en-US". + locale: nil, + # Longitude coordinate of current device location. + longitude: nil, + # Operating System: e.g. "Android 12", "iOS 17.1". + os: nil, + # Device platform: Android, iOS, Windows, etc. + platform: nil, + # Screen height in pixels. + screen_height: nil, + # Screen width in pixels. + screen_width: nil, + # Time zone offset in minutes between UTC and device local time. + time_zone: nil + ) + end + + sig do + override.returns( + { + device: T.nilable(String), + device_info: T.nilable(String), + ip: String, + latitude: T.nilable(Float), + locale: T.nilable(String), + longitude: T.nilable(Float), + os: T.nilable(String), + platform: T.nilable(String), + screen_height: T.nilable(Integer), + screen_width: T.nilable(Integer), + time_zone: T.nilable(String) + } + ) + end + def to_hash + end + end + + # Type of authentication request - i.e., the type of transaction or interaction is + # causing the merchant to request an authentication. Maps to EMV 3DS field + # `threeDSRequestorAuthenticationInd`. + module AuthenticationRequestType + extend Lithic::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Lithic::ThreeDSAuthentication::AuthenticationRequestType + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + ADD_CARD = + T.let( + :ADD_CARD, + Lithic::ThreeDSAuthentication::AuthenticationRequestType::TaggedSymbol + ) + BILLING_AGREEMENT = + T.let( + :BILLING_AGREEMENT, + Lithic::ThreeDSAuthentication::AuthenticationRequestType::TaggedSymbol + ) + DELAYED_SHIPMENT = + T.let( + :DELAYED_SHIPMENT, + Lithic::ThreeDSAuthentication::AuthenticationRequestType::TaggedSymbol + ) + EMV_TOKEN_CARDHOLDER_VERIFICATION = + T.let( + :EMV_TOKEN_CARDHOLDER_VERIFICATION, + Lithic::ThreeDSAuthentication::AuthenticationRequestType::TaggedSymbol + ) + INSTALLMENT_TRANSACTION = + T.let( + :INSTALLMENT_TRANSACTION, + Lithic::ThreeDSAuthentication::AuthenticationRequestType::TaggedSymbol + ) + MAINTAIN_CARD = + T.let( + :MAINTAIN_CARD, + Lithic::ThreeDSAuthentication::AuthenticationRequestType::TaggedSymbol + ) + PAYMENT_TRANSACTION = + T.let( + :PAYMENT_TRANSACTION, + Lithic::ThreeDSAuthentication::AuthenticationRequestType::TaggedSymbol + ) + RECURRING_TRANSACTION = + T.let( + :RECURRING_TRANSACTION, + Lithic::ThreeDSAuthentication::AuthenticationRequestType::TaggedSymbol + ) + SPLIT_PAYMENT = + T.let( + :SPLIT_PAYMENT, + Lithic::ThreeDSAuthentication::AuthenticationRequestType::TaggedSymbol + ) + SPLIT_SHIPMENT = + T.let( + :SPLIT_SHIPMENT, + Lithic::ThreeDSAuthentication::AuthenticationRequestType::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Lithic::ThreeDSAuthentication::AuthenticationRequestType::TaggedSymbol + ] + ) + end + def self.values + end + end + + class Browser < Lithic::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Lithic::ThreeDSAuthentication::Browser, + Lithic::Internal::AnyHash + ) + end + + # Content of the HTTP accept headers as sent from the cardholder's browser to the + # 3DS requestor (e.g., merchant or digital wallet). + sig { returns(T.nilable(String)) } + attr_accessor :accept_header + + # IP address of the browser as returned by the HTTP headers to the 3DS requestor + # (e.g., merchant or digital wallet). Maps to EMV 3DS field `browserIP`. + sig { returns(T.nilable(String)) } + attr_accessor :ip + + # Indicates whether the cardholder's browser has the ability to execute Java. Maps + # to EMV 3DS field `browserJavaEnabled`. + sig { returns(T.nilable(T::Boolean)) } + attr_accessor :java_enabled + + # Indicates whether the cardholder's browser has the ability to execute + # JavaScript. Maps to EMV 3DS field `browserJavascriptEnabled`. + sig { returns(T.nilable(T::Boolean)) } + attr_accessor :javascript_enabled + + # Language of the cardholder's browser as defined in IETF BCP47. Maps to EMV 3DS + # field `browserLanguage`. + sig { returns(T.nilable(String)) } + attr_accessor :language + + # Time zone offset in minutes between UTC and browser local time. Maps to EMV 3DS + # field `browserTz`. + sig { returns(T.nilable(String)) } + attr_accessor :time_zone + + # Content of the HTTP user-agent header. Maps to EMV 3DS field `browserUserAgent`. + sig { returns(T.nilable(String)) } + attr_accessor :user_agent + + # Object containing data about the browser used in the e-commerce transaction. + # Present if the channel is 'BROWSER'. + sig do + params( + accept_header: T.nilable(String), + ip: T.nilable(String), + java_enabled: T.nilable(T::Boolean), + javascript_enabled: T.nilable(T::Boolean), + language: T.nilable(String), + time_zone: T.nilable(String), + user_agent: T.nilable(String) + ).returns(T.attached_class) + end + def self.new( + # Content of the HTTP accept headers as sent from the cardholder's browser to the + # 3DS requestor (e.g., merchant or digital wallet). + accept_header: nil, + # IP address of the browser as returned by the HTTP headers to the 3DS requestor + # (e.g., merchant or digital wallet). Maps to EMV 3DS field `browserIP`. + ip: nil, + # Indicates whether the cardholder's browser has the ability to execute Java. Maps + # to EMV 3DS field `browserJavaEnabled`. + java_enabled: nil, + # Indicates whether the cardholder's browser has the ability to execute + # JavaScript. Maps to EMV 3DS field `browserJavascriptEnabled`. + javascript_enabled: nil, + # Language of the cardholder's browser as defined in IETF BCP47. Maps to EMV 3DS + # field `browserLanguage`. + language: nil, + # Time zone offset in minutes between UTC and browser local time. Maps to EMV 3DS + # field `browserTz`. + time_zone: nil, + # Content of the HTTP user-agent header. Maps to EMV 3DS field `browserUserAgent`. + user_agent: nil + ) + end + + sig do + override.returns( + { + accept_header: T.nilable(String), + ip: T.nilable(String), + java_enabled: T.nilable(T::Boolean), + javascript_enabled: T.nilable(T::Boolean), + language: T.nilable(String), + time_zone: T.nilable(String), + user_agent: T.nilable(String) + } + ) + end + def to_hash + end + end + + class ChallengeMetadata < Lithic::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Lithic::ThreeDSAuthentication::ChallengeMetadata, + Lithic::Internal::AnyHash + ) + end + + # The type of challenge method used for authentication. + sig do + returns( + Lithic::ThreeDSAuthentication::ChallengeMetadata::MethodType::TaggedSymbol + ) + 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::ThreeDSAuthentication::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 + + # Metadata about the challenge method and delivery. Only present when a challenge + # is triggered. + sig do + params( + method_type: + Lithic::ThreeDSAuthentication::ChallengeMetadata::MethodType::OrSymbol, + status: + Lithic::ThreeDSAuthentication::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 + ) + end + + sig do + override.returns( + { + method_type: + Lithic::ThreeDSAuthentication::ChallengeMetadata::MethodType::TaggedSymbol, + status: + Lithic::ThreeDSAuthentication::ChallengeMetadata::Status::TaggedSymbol, + phone_number: T.nilable(String) + } + ) + end + def to_hash + end + + # The type of challenge method used for authentication. + module MethodType + extend Lithic::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Lithic::ThreeDSAuthentication::ChallengeMetadata::MethodType + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + SMS_OTP = + T.let( + :SMS_OTP, + Lithic::ThreeDSAuthentication::ChallengeMetadata::MethodType::TaggedSymbol + ) + OUT_OF_BAND = + T.let( + :OUT_OF_BAND, + Lithic::ThreeDSAuthentication::ChallengeMetadata::MethodType::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Lithic::ThreeDSAuthentication::ChallengeMetadata::MethodType::TaggedSymbol + ] + ) + end + 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::ThreeDSAuthentication::ChallengeMetadata::Status + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + SUCCESS = + T.let( + :SUCCESS, + Lithic::ThreeDSAuthentication::ChallengeMetadata::Status::TaggedSymbol + ) + PENDING = + T.let( + :PENDING, + Lithic::ThreeDSAuthentication::ChallengeMetadata::Status::TaggedSymbol + ) + SMS_DELIVERY_FAILED = + T.let( + :SMS_DELIVERY_FAILED, + Lithic::ThreeDSAuthentication::ChallengeMetadata::Status::TaggedSymbol + ) + CARDHOLDER_TIMEOUT = + T.let( + :CARDHOLDER_TIMEOUT, + Lithic::ThreeDSAuthentication::ChallengeMetadata::Status::TaggedSymbol + ) + CANCELED_VIA_CHALLENGE_UI = + T.let( + :CANCELED_VIA_CHALLENGE_UI, + Lithic::ThreeDSAuthentication::ChallengeMetadata::Status::TaggedSymbol + ) + CANCELED_OOB = + T.let( + :CANCELED_OOB, + Lithic::ThreeDSAuthentication::ChallengeMetadata::Status::TaggedSymbol + ) + ATTEMPTS_EXCEEDED = + T.let( + :ATTEMPTS_EXCEEDED, + Lithic::ThreeDSAuthentication::ChallengeMetadata::Status::TaggedSymbol + ) + ABORTED = + T.let( + :ABORTED, + Lithic::ThreeDSAuthentication::ChallengeMetadata::Status::TaggedSymbol + ) + ERROR = + T.let( + :ERROR, + Lithic::ThreeDSAuthentication::ChallengeMetadata::Status::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Lithic::ThreeDSAuthentication::ChallengeMetadata::Status::TaggedSymbol + ] + ) + end + def self.values + end + end + end + + # Entity that orchestrates the challenge. This won't be set for authentications + # for which a decision has not yet been made (e.g. in-flight customer decisioning + # request). + module ChallengeOrchestratedBy + extend Lithic::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Lithic::ThreeDSAuthentication::ChallengeOrchestratedBy + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + LITHIC = + T.let( + :LITHIC, + Lithic::ThreeDSAuthentication::ChallengeOrchestratedBy::TaggedSymbol + ) + CUSTOMER = + T.let( + :CUSTOMER, + Lithic::ThreeDSAuthentication::ChallengeOrchestratedBy::TaggedSymbol + ) + NO_CHALLENGE = + T.let( + :NO_CHALLENGE, + Lithic::ThreeDSAuthentication::ChallengeOrchestratedBy::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Lithic::ThreeDSAuthentication::ChallengeOrchestratedBy::TaggedSymbol + ] + ) + end + def self.values + end + end + + # Entity that made the authentication decision. This won't be set for + # authentications for which a decision has not yet been made (e.g. in-flight + # customer decisioning request). + module DecisionMadeBy + extend Lithic::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all(Symbol, Lithic::ThreeDSAuthentication::DecisionMadeBy) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + LITHIC_RULES = + T.let( + :LITHIC_RULES, + Lithic::ThreeDSAuthentication::DecisionMadeBy::TaggedSymbol + ) + LITHIC_DEFAULT = + T.let( + :LITHIC_DEFAULT, + Lithic::ThreeDSAuthentication::DecisionMadeBy::TaggedSymbol + ) + CUSTOMER_RULES = + T.let( + :CUSTOMER_RULES, + Lithic::ThreeDSAuthentication::DecisionMadeBy::TaggedSymbol + ) + CUSTOMER_ENDPOINT = + T.let( + :CUSTOMER_ENDPOINT, + Lithic::ThreeDSAuthentication::DecisionMadeBy::TaggedSymbol + ) + NETWORK = + T.let( + :NETWORK, + Lithic::ThreeDSAuthentication::DecisionMadeBy::TaggedSymbol + ) + UNKNOWN = + T.let( + :UNKNOWN, + Lithic::ThreeDSAuthentication::DecisionMadeBy::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Lithic::ThreeDSAuthentication::DecisionMadeBy::TaggedSymbol + ] + ) + end + def self.values + end + end + + # Type of 3DS Requestor Initiated (3RI) request — i.e., a 3DS authentication that + # takes place at the initiation of the merchant rather than the cardholder. The + # most common example of this is where a merchant is authenticating before billing + # for a recurring transaction such as a pay TV subscription or a utility bill. + # Maps to EMV 3DS field `threeRIInd`. + module ThreeRiRequestType + extend Lithic::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all(Symbol, Lithic::ThreeDSAuthentication::ThreeRiRequestType) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + ACCOUNT_VERIFICATION = + T.let( + :ACCOUNT_VERIFICATION, + Lithic::ThreeDSAuthentication::ThreeRiRequestType::TaggedSymbol + ) + ADD_CARD = + T.let( + :ADD_CARD, + Lithic::ThreeDSAuthentication::ThreeRiRequestType::TaggedSymbol + ) + BILLING_AGREEMENT = + T.let( + :BILLING_AGREEMENT, + Lithic::ThreeDSAuthentication::ThreeRiRequestType::TaggedSymbol + ) + CARD_SECURITY_CODE_STATUS_CHECK = + T.let( + :CARD_SECURITY_CODE_STATUS_CHECK, + Lithic::ThreeDSAuthentication::ThreeRiRequestType::TaggedSymbol + ) + DELAYED_SHIPMENT = + T.let( + :DELAYED_SHIPMENT, + Lithic::ThreeDSAuthentication::ThreeRiRequestType::TaggedSymbol + ) + DEVICE_BINDING_STATUS_CHECK = + T.let( + :DEVICE_BINDING_STATUS_CHECK, + Lithic::ThreeDSAuthentication::ThreeRiRequestType::TaggedSymbol + ) + INSTALLMENT_TRANSACTION = + T.let( + :INSTALLMENT_TRANSACTION, + Lithic::ThreeDSAuthentication::ThreeRiRequestType::TaggedSymbol + ) + MAIL_ORDER = + T.let( + :MAIL_ORDER, + Lithic::ThreeDSAuthentication::ThreeRiRequestType::TaggedSymbol + ) + MAINTAIN_CARD_INFO = + T.let( + :MAINTAIN_CARD_INFO, + Lithic::ThreeDSAuthentication::ThreeRiRequestType::TaggedSymbol + ) + OTHER_PAYMENT = + T.let( + :OTHER_PAYMENT, + Lithic::ThreeDSAuthentication::ThreeRiRequestType::TaggedSymbol + ) + RECURRING_TRANSACTION = + T.let( + :RECURRING_TRANSACTION, + Lithic::ThreeDSAuthentication::ThreeRiRequestType::TaggedSymbol + ) + SPLIT_PAYMENT = + T.let( + :SPLIT_PAYMENT, + Lithic::ThreeDSAuthentication::ThreeRiRequestType::TaggedSymbol + ) + SPLIT_SHIPMENT = + T.let( + :SPLIT_SHIPMENT, + Lithic::ThreeDSAuthentication::ThreeRiRequestType::TaggedSymbol + ) + TELEPHONE_ORDER = + T.let( + :TELEPHONE_ORDER, + Lithic::ThreeDSAuthentication::ThreeRiRequestType::TaggedSymbol + ) + TOP_UP = + T.let( + :TOP_UP, + Lithic::ThreeDSAuthentication::ThreeRiRequestType::TaggedSymbol + ) + TRUST_LIST_STATUS_CHECK = + T.let( + :TRUST_LIST_STATUS_CHECK, + Lithic::ThreeDSAuthentication::ThreeRiRequestType::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Lithic::ThreeDSAuthentication::ThreeRiRequestType::TaggedSymbol + ] + ) + end + def self.values + end + end + + class Transaction < Lithic::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Lithic::ThreeDSAuthentication::Transaction, + Lithic::Internal::AnyHash + ) + end + + # Amount of the purchase in minor units of currency with all punctuation removed. + # Maps to EMV 3DS field `purchaseAmount`. + sig { returns(Float) } + attr_accessor :amount + + # Approximate amount of the purchase in minor units of cardholder currency. + # Derived from `amount` using a daily conversion rate. + sig { returns(T.nilable(Float)) } + attr_accessor :cardholder_amount + + # Currency of the purchase. Maps to EMV 3DS field `purchaseCurrency`. Permitted + # values: ISO 4217 three-character currency code (e.g., USD). + sig { returns(String) } + attr_accessor :currency + + # Minor units of currency, as specified in ISO 4217 currency exponent. Maps to EMV + # 3DS field `purchaseExponent`. + sig { returns(Float) } + attr_accessor :currency_exponent + + # Date and time when the authentication was generated by the merchant/acquirer's + # 3DS server. Maps to EMV 3DS field `purchaseDate`. Permitted values: Date string + # in the ISO 8601 format yyyy-MM-dd'T'hh:mm:ssZ. + sig { returns(Time) } + attr_accessor :date_time + + # Type of the transaction for which a 3DS authentication request is occurring. + # Maps to EMV 3DS field `transType`. + sig do + returns( + T.nilable( + Lithic::ThreeDSAuthentication::Transaction::Type::TaggedSymbol + ) + ) + end + attr_accessor :type + + # Object containing data about the e-commerce transaction for which the merchant + # is requesting authentication. + sig do + params( + amount: Float, + cardholder_amount: T.nilable(Float), + currency: String, + currency_exponent: Float, + date_time: Time, + type: + T.nilable( + Lithic::ThreeDSAuthentication::Transaction::Type::OrSymbol + ) + ).returns(T.attached_class) + end + def self.new( + # Amount of the purchase in minor units of currency with all punctuation removed. + # Maps to EMV 3DS field `purchaseAmount`. + amount:, + # Approximate amount of the purchase in minor units of cardholder currency. + # Derived from `amount` using a daily conversion rate. + cardholder_amount:, + # Currency of the purchase. Maps to EMV 3DS field `purchaseCurrency`. Permitted + # values: ISO 4217 three-character currency code (e.g., USD). + currency:, + # Minor units of currency, as specified in ISO 4217 currency exponent. Maps to EMV + # 3DS field `purchaseExponent`. + currency_exponent:, + # Date and time when the authentication was generated by the merchant/acquirer's + # 3DS server. Maps to EMV 3DS field `purchaseDate`. Permitted values: Date string + # in the ISO 8601 format yyyy-MM-dd'T'hh:mm:ssZ. + date_time:, + # Type of the transaction for which a 3DS authentication request is occurring. + # Maps to EMV 3DS field `transType`. + type: + ) + end + + sig do + override.returns( + { + amount: Float, + cardholder_amount: T.nilable(Float), + currency: String, + currency_exponent: Float, + date_time: Time, + type: + T.nilable( + Lithic::ThreeDSAuthentication::Transaction::Type::TaggedSymbol + ) + } + ) + end + def to_hash + end + + # Type of the transaction for which a 3DS authentication request is occurring. + # Maps to EMV 3DS field `transType`. + module Type + extend Lithic::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all(Symbol, Lithic::ThreeDSAuthentication::Transaction::Type) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + ACCOUNT_FUNDING = + T.let( + :ACCOUNT_FUNDING, + Lithic::ThreeDSAuthentication::Transaction::Type::TaggedSymbol + ) + CHECK_ACCEPTANCE = + T.let( + :CHECK_ACCEPTANCE, + Lithic::ThreeDSAuthentication::Transaction::Type::TaggedSymbol + ) + GOODS_SERVICE_PURCHASE = + T.let( + :GOODS_SERVICE_PURCHASE, + Lithic::ThreeDSAuthentication::Transaction::Type::TaggedSymbol + ) + PREPAID_ACTIVATION_AND_LOAD = + T.let( + :PREPAID_ACTIVATION_AND_LOAD, + Lithic::ThreeDSAuthentication::Transaction::Type::TaggedSymbol + ) + QUASI_CASH_TRANSACTION = + T.let( + :QUASI_CASH_TRANSACTION, + Lithic::ThreeDSAuthentication::Transaction::Type::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Lithic::ThreeDSAuthentication::Transaction::Type::TaggedSymbol + ] + ) + end + def self.values + end + end + end + end + end +end diff --git a/rbi/lithic/models/token_info.rbi b/rbi/lithic/models/token_info.rbi new file mode 100644 index 00000000..76648070 --- /dev/null +++ b/rbi/lithic/models/token_info.rbi @@ -0,0 +1,70 @@ +# typed: strong + +module Lithic + module Models + class TokenInfo < Lithic::Internal::Type::BaseModel + OrHash = + T.type_alias { T.any(Lithic::TokenInfo, Lithic::Internal::AnyHash) } + + # The wallet_type field will indicate the source of the token. Possible token + # sources include digital wallets (Apple, Google, or Samsung Pay), merchant + # tokenization, and “other” sources like in-flight commerce. Masterpass is not + # currently supported and is included for future use. + sig { returns(Lithic::TokenInfo::WalletType::TaggedSymbol) } + attr_accessor :wallet_type + + sig do + params(wallet_type: Lithic::TokenInfo::WalletType::OrSymbol).returns( + T.attached_class + ) + end + def self.new( + # The wallet_type field will indicate the source of the token. Possible token + # sources include digital wallets (Apple, Google, or Samsung Pay), merchant + # tokenization, and “other” sources like in-flight commerce. Masterpass is not + # currently supported and is included for future use. + wallet_type: + ) + end + + sig do + override.returns( + { wallet_type: Lithic::TokenInfo::WalletType::TaggedSymbol } + ) + end + def to_hash + end + + # The wallet_type field will indicate the source of the token. Possible token + # sources include digital wallets (Apple, Google, or Samsung Pay), merchant + # tokenization, and “other” sources like in-flight commerce. Masterpass is not + # currently supported and is included for future use. + module WalletType + extend Lithic::Internal::Type::Enum + + TaggedSymbol = + T.type_alias { T.all(Symbol, Lithic::TokenInfo::WalletType) } + OrSymbol = T.type_alias { T.any(Symbol, String) } + + APPLE_PAY = + T.let(:APPLE_PAY, Lithic::TokenInfo::WalletType::TaggedSymbol) + GOOGLE_PAY = + T.let(:GOOGLE_PAY, Lithic::TokenInfo::WalletType::TaggedSymbol) + MASTERPASS = + T.let(:MASTERPASS, Lithic::TokenInfo::WalletType::TaggedSymbol) + MERCHANT = T.let(:MERCHANT, Lithic::TokenInfo::WalletType::TaggedSymbol) + OTHER = T.let(:OTHER, Lithic::TokenInfo::WalletType::TaggedSymbol) + SAMSUNG_PAY = + T.let(:SAMSUNG_PAY, Lithic::TokenInfo::WalletType::TaggedSymbol) + + sig do + override.returns( + T::Array[Lithic::TokenInfo::WalletType::TaggedSymbol] + ) + end + def self.values + end + end + end + end +end diff --git a/rbi/lithic/models/tokenization.rbi b/rbi/lithic/models/tokenization.rbi index 76b50065..e2f6df28 100644 --- a/rbi/lithic/models/tokenization.rbi +++ b/rbi/lithic/models/tokenization.rbi @@ -330,15 +330,12 @@ module Lithic attr_writer :result # Results from rules that were evaluated for this tokenization - sig do - returns(T.nilable(T::Array[Lithic::Tokenization::Event::RuleResult])) - end + sig { returns(T.nilable(T::Array[Lithic::TokenizationRuleResult])) } attr_reader :rule_results sig do params( - rule_results: - T::Array[Lithic::Tokenization::Event::RuleResult::OrHash] + rule_results: T::Array[Lithic::TokenizationRuleResult::OrHash] ).void end attr_writer :rule_results @@ -346,11 +343,7 @@ module Lithic # List of reasons why the tokenization was declined sig do returns( - T.nilable( - T::Array[ - Lithic::Tokenization::Event::TokenizationDeclineReason::TaggedSymbol - ] - ) + T.nilable(T::Array[Lithic::TokenizationDeclineReason::TaggedSymbol]) ) end attr_reader :tokenization_decline_reasons @@ -358,9 +351,7 @@ module Lithic sig do params( tokenization_decline_reasons: - T::Array[ - Lithic::Tokenization::Event::TokenizationDeclineReason::OrSymbol - ] + T::Array[Lithic::TokenizationDeclineReason::OrSymbol] ).void end attr_writer :tokenization_decline_reasons @@ -368,11 +359,7 @@ module Lithic # List of reasons why two-factor authentication was required sig do returns( - T.nilable( - T::Array[ - Lithic::Tokenization::Event::TokenizationTfaReason::TaggedSymbol - ] - ) + T.nilable(T::Array[Lithic::TokenizationTfaReason::TaggedSymbol]) ) end attr_reader :tokenization_tfa_reasons @@ -380,9 +367,7 @@ module Lithic sig do params( tokenization_tfa_reasons: - T::Array[ - Lithic::Tokenization::Event::TokenizationTfaReason::OrSymbol - ] + T::Array[Lithic::TokenizationTfaReason::OrSymbol] ).void end attr_writer :tokenization_tfa_reasons @@ -401,16 +386,11 @@ module Lithic token: String, created_at: Time, result: Lithic::Tokenization::Event::Result::OrSymbol, - rule_results: - T::Array[Lithic::Tokenization::Event::RuleResult::OrHash], + rule_results: T::Array[Lithic::TokenizationRuleResult::OrHash], tokenization_decline_reasons: - T::Array[ - Lithic::Tokenization::Event::TokenizationDeclineReason::OrSymbol - ], + T::Array[Lithic::TokenizationDeclineReason::OrSymbol], tokenization_tfa_reasons: - T::Array[ - Lithic::Tokenization::Event::TokenizationTfaReason::OrSymbol - ], + T::Array[Lithic::TokenizationTfaReason::OrSymbol], type: Lithic::Tokenization::Event::Type::OrSymbol ).returns(T.attached_class) end @@ -438,15 +418,11 @@ module Lithic token: String, created_at: Time, result: Lithic::Tokenization::Event::Result::TaggedSymbol, - rule_results: T::Array[Lithic::Tokenization::Event::RuleResult], + rule_results: T::Array[Lithic::TokenizationRuleResult], tokenization_decline_reasons: - T::Array[ - Lithic::Tokenization::Event::TokenizationDeclineReason::TaggedSymbol - ], + T::Array[Lithic::TokenizationDeclineReason::TaggedSymbol], tokenization_tfa_reasons: - T::Array[ - Lithic::Tokenization::Event::TokenizationTfaReason::TaggedSymbol - ], + T::Array[Lithic::TokenizationTfaReason::TaggedSymbol], type: Lithic::Tokenization::Event::Type::TaggedSymbol } ) @@ -526,305 +502,6 @@ module Lithic end end - class RuleResult < Lithic::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Lithic::Tokenization::Event::RuleResult, - Lithic::Internal::AnyHash - ) - end - - # The Auth Rule Token associated with the rule. If this is set to null, then the - # result was not associated with a customer-configured rule. This may happen in - # cases where a tokenization is declined or requires TFA due to a - # Lithic-configured security or compliance rule, for example. - sig { returns(T.nilable(String)) } - attr_accessor :auth_rule_token - - # A human-readable explanation outlining the motivation for the rule's result - sig { returns(T.nilable(String)) } - attr_accessor :explanation - - # The name for the rule, if any was configured - sig { returns(T.nilable(String)) } - attr_accessor :name - - # The result associated with this rule - sig do - returns( - Lithic::Tokenization::Event::RuleResult::Result::TaggedSymbol - ) - end - attr_accessor :result - - sig do - params( - auth_rule_token: T.nilable(String), - explanation: T.nilable(String), - name: T.nilable(String), - result: Lithic::Tokenization::Event::RuleResult::Result::OrSymbol - ).returns(T.attached_class) - end - def self.new( - # The Auth Rule Token associated with the rule. If this is set to null, then the - # result was not associated with a customer-configured rule. This may happen in - # cases where a tokenization is declined or requires TFA due to a - # Lithic-configured security or compliance rule, for example. - auth_rule_token:, - # A human-readable explanation outlining the motivation for the rule's result - explanation:, - # The name for the rule, if any was configured - name:, - # The result associated with this rule - result: - ) - end - - sig do - override.returns( - { - auth_rule_token: T.nilable(String), - explanation: T.nilable(String), - name: T.nilable(String), - result: - Lithic::Tokenization::Event::RuleResult::Result::TaggedSymbol - } - ) - end - def to_hash - end - - # The result associated with this rule - module Result - extend Lithic::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all(Symbol, Lithic::Tokenization::Event::RuleResult::Result) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - APPROVED = - T.let( - :APPROVED, - Lithic::Tokenization::Event::RuleResult::Result::TaggedSymbol - ) - DECLINED = - T.let( - :DECLINED, - Lithic::Tokenization::Event::RuleResult::Result::TaggedSymbol - ) - REQUIRE_TFA = - T.let( - :REQUIRE_TFA, - Lithic::Tokenization::Event::RuleResult::Result::TaggedSymbol - ) - ERROR = - T.let( - :ERROR, - Lithic::Tokenization::Event::RuleResult::Result::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Lithic::Tokenization::Event::RuleResult::Result::TaggedSymbol - ] - ) - end - def self.values - end - end - end - - # Reason code for why a tokenization was declined - module TokenizationDeclineReason - extend Lithic::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Lithic::Tokenization::Event::TokenizationDeclineReason - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - ACCOUNT_SCORE_1 = - T.let( - :ACCOUNT_SCORE_1, - Lithic::Tokenization::Event::TokenizationDeclineReason::TaggedSymbol - ) - DEVICE_SCORE_1 = - T.let( - :DEVICE_SCORE_1, - Lithic::Tokenization::Event::TokenizationDeclineReason::TaggedSymbol - ) - ALL_WALLET_DECLINE_REASONS_PRESENT = - T.let( - :ALL_WALLET_DECLINE_REASONS_PRESENT, - Lithic::Tokenization::Event::TokenizationDeclineReason::TaggedSymbol - ) - WALLET_RECOMMENDED_DECISION_RED = - T.let( - :WALLET_RECOMMENDED_DECISION_RED, - Lithic::Tokenization::Event::TokenizationDeclineReason::TaggedSymbol - ) - CVC_MISMATCH = - T.let( - :CVC_MISMATCH, - Lithic::Tokenization::Event::TokenizationDeclineReason::TaggedSymbol - ) - CARD_EXPIRY_MONTH_MISMATCH = - T.let( - :CARD_EXPIRY_MONTH_MISMATCH, - Lithic::Tokenization::Event::TokenizationDeclineReason::TaggedSymbol - ) - CARD_EXPIRY_YEAR_MISMATCH = - T.let( - :CARD_EXPIRY_YEAR_MISMATCH, - Lithic::Tokenization::Event::TokenizationDeclineReason::TaggedSymbol - ) - CARD_INVALID_STATE = - T.let( - :CARD_INVALID_STATE, - Lithic::Tokenization::Event::TokenizationDeclineReason::TaggedSymbol - ) - CUSTOMER_RED_PATH = - T.let( - :CUSTOMER_RED_PATH, - Lithic::Tokenization::Event::TokenizationDeclineReason::TaggedSymbol - ) - INVALID_CUSTOMER_RESPONSE = - T.let( - :INVALID_CUSTOMER_RESPONSE, - Lithic::Tokenization::Event::TokenizationDeclineReason::TaggedSymbol - ) - NETWORK_FAILURE = - T.let( - :NETWORK_FAILURE, - Lithic::Tokenization::Event::TokenizationDeclineReason::TaggedSymbol - ) - GENERIC_DECLINE = - T.let( - :GENERIC_DECLINE, - Lithic::Tokenization::Event::TokenizationDeclineReason::TaggedSymbol - ) - DIGITAL_CARD_ART_REQUIRED = - T.let( - :DIGITAL_CARD_ART_REQUIRED, - Lithic::Tokenization::Event::TokenizationDeclineReason::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Lithic::Tokenization::Event::TokenizationDeclineReason::TaggedSymbol - ] - ) - end - def self.values - end - end - - # Reason code for why a tokenization required two-factor authentication - module TokenizationTfaReason - extend Lithic::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all(Symbol, Lithic::Tokenization::Event::TokenizationTfaReason) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - WALLET_RECOMMENDED_TFA = - T.let( - :WALLET_RECOMMENDED_TFA, - Lithic::Tokenization::Event::TokenizationTfaReason::TaggedSymbol - ) - SUSPICIOUS_ACTIVITY = - T.let( - :SUSPICIOUS_ACTIVITY, - Lithic::Tokenization::Event::TokenizationTfaReason::TaggedSymbol - ) - DEVICE_RECENTLY_LOST = - T.let( - :DEVICE_RECENTLY_LOST, - Lithic::Tokenization::Event::TokenizationTfaReason::TaggedSymbol - ) - TOO_MANY_RECENT_ATTEMPTS = - T.let( - :TOO_MANY_RECENT_ATTEMPTS, - Lithic::Tokenization::Event::TokenizationTfaReason::TaggedSymbol - ) - TOO_MANY_RECENT_TOKENS = - T.let( - :TOO_MANY_RECENT_TOKENS, - Lithic::Tokenization::Event::TokenizationTfaReason::TaggedSymbol - ) - TOO_MANY_DIFFERENT_CARDHOLDERS = - T.let( - :TOO_MANY_DIFFERENT_CARDHOLDERS, - Lithic::Tokenization::Event::TokenizationTfaReason::TaggedSymbol - ) - OUTSIDE_HOME_TERRITORY = - T.let( - :OUTSIDE_HOME_TERRITORY, - Lithic::Tokenization::Event::TokenizationTfaReason::TaggedSymbol - ) - HAS_SUSPENDED_TOKENS = - T.let( - :HAS_SUSPENDED_TOKENS, - Lithic::Tokenization::Event::TokenizationTfaReason::TaggedSymbol - ) - HIGH_RISK = - T.let( - :HIGH_RISK, - Lithic::Tokenization::Event::TokenizationTfaReason::TaggedSymbol - ) - ACCOUNT_SCORE_LOW = - T.let( - :ACCOUNT_SCORE_LOW, - Lithic::Tokenization::Event::TokenizationTfaReason::TaggedSymbol - ) - DEVICE_SCORE_LOW = - T.let( - :DEVICE_SCORE_LOW, - Lithic::Tokenization::Event::TokenizationTfaReason::TaggedSymbol - ) - CARD_STATE_TFA = - T.let( - :CARD_STATE_TFA, - Lithic::Tokenization::Event::TokenizationTfaReason::TaggedSymbol - ) - HARDCODED_TFA = - T.let( - :HARDCODED_TFA, - Lithic::Tokenization::Event::TokenizationTfaReason::TaggedSymbol - ) - CUSTOMER_RULE_TFA = - T.let( - :CUSTOMER_RULE_TFA, - Lithic::Tokenization::Event::TokenizationTfaReason::TaggedSymbol - ) - DEVICE_HOST_CARD_EMULATION = - T.let( - :DEVICE_HOST_CARD_EMULATION, - Lithic::Tokenization::Event::TokenizationTfaReason::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Lithic::Tokenization::Event::TokenizationTfaReason::TaggedSymbol - ] - ) - end - def self.values - end - end - # Enum representing the type of tokenization event that occurred module Type extend Lithic::Internal::Type::Enum diff --git a/rbi/lithic/models/tokenization_decline_reason.rbi b/rbi/lithic/models/tokenization_decline_reason.rbi new file mode 100644 index 00000000..80735deb --- /dev/null +++ b/rbi/lithic/models/tokenization_decline_reason.rbi @@ -0,0 +1,73 @@ +# typed: strong + +module Lithic + module Models + # Reason code for why a tokenization was declined + module TokenizationDeclineReason + extend Lithic::Internal::Type::Enum + + TaggedSymbol = + T.type_alias { T.all(Symbol, Lithic::TokenizationDeclineReason) } + OrSymbol = T.type_alias { T.any(Symbol, String) } + + ACCOUNT_SCORE_1 = + T.let(:ACCOUNT_SCORE_1, Lithic::TokenizationDeclineReason::TaggedSymbol) + DEVICE_SCORE_1 = + T.let(:DEVICE_SCORE_1, Lithic::TokenizationDeclineReason::TaggedSymbol) + ALL_WALLET_DECLINE_REASONS_PRESENT = + T.let( + :ALL_WALLET_DECLINE_REASONS_PRESENT, + Lithic::TokenizationDeclineReason::TaggedSymbol + ) + WALLET_RECOMMENDED_DECISION_RED = + T.let( + :WALLET_RECOMMENDED_DECISION_RED, + Lithic::TokenizationDeclineReason::TaggedSymbol + ) + CVC_MISMATCH = + T.let(:CVC_MISMATCH, Lithic::TokenizationDeclineReason::TaggedSymbol) + CARD_EXPIRY_MONTH_MISMATCH = + T.let( + :CARD_EXPIRY_MONTH_MISMATCH, + Lithic::TokenizationDeclineReason::TaggedSymbol + ) + CARD_EXPIRY_YEAR_MISMATCH = + T.let( + :CARD_EXPIRY_YEAR_MISMATCH, + Lithic::TokenizationDeclineReason::TaggedSymbol + ) + CARD_INVALID_STATE = + T.let( + :CARD_INVALID_STATE, + Lithic::TokenizationDeclineReason::TaggedSymbol + ) + CUSTOMER_RED_PATH = + T.let( + :CUSTOMER_RED_PATH, + Lithic::TokenizationDeclineReason::TaggedSymbol + ) + INVALID_CUSTOMER_RESPONSE = + T.let( + :INVALID_CUSTOMER_RESPONSE, + Lithic::TokenizationDeclineReason::TaggedSymbol + ) + NETWORK_FAILURE = + T.let(:NETWORK_FAILURE, Lithic::TokenizationDeclineReason::TaggedSymbol) + GENERIC_DECLINE = + T.let(:GENERIC_DECLINE, Lithic::TokenizationDeclineReason::TaggedSymbol) + DIGITAL_CARD_ART_REQUIRED = + T.let( + :DIGITAL_CARD_ART_REQUIRED, + Lithic::TokenizationDeclineReason::TaggedSymbol + ) + + sig do + override.returns( + T::Array[Lithic::TokenizationDeclineReason::TaggedSymbol] + ) + end + def self.values + end + end + end +end diff --git a/rbi/lithic/models/tokenization_rule_result.rbi b/rbi/lithic/models/tokenization_rule_result.rbi new file mode 100644 index 00000000..f3ccf71c --- /dev/null +++ b/rbi/lithic/models/tokenization_rule_result.rbi @@ -0,0 +1,96 @@ +# typed: strong + +module Lithic + module Models + class TokenizationRuleResult < Lithic::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any(Lithic::TokenizationRuleResult, Lithic::Internal::AnyHash) + end + + # The Auth Rule Token associated with the rule. If this is set to null, then the + # result was not associated with a customer-configured rule. This may happen in + # cases where a tokenization is declined or requires TFA due to a + # Lithic-configured security or compliance rule, for example. + sig { returns(T.nilable(String)) } + attr_accessor :auth_rule_token + + # A human-readable explanation outlining the motivation for the rule's result + sig { returns(T.nilable(String)) } + attr_accessor :explanation + + # The name for the rule, if any was configured + sig { returns(T.nilable(String)) } + attr_accessor :name + + # The result associated with this rule + sig { returns(Lithic::TokenizationRuleResult::Result::TaggedSymbol) } + attr_accessor :result + + sig do + params( + auth_rule_token: T.nilable(String), + explanation: T.nilable(String), + name: T.nilable(String), + result: Lithic::TokenizationRuleResult::Result::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # The Auth Rule Token associated with the rule. If this is set to null, then the + # result was not associated with a customer-configured rule. This may happen in + # cases where a tokenization is declined or requires TFA due to a + # Lithic-configured security or compliance rule, for example. + auth_rule_token:, + # A human-readable explanation outlining the motivation for the rule's result + explanation:, + # The name for the rule, if any was configured + name:, + # The result associated with this rule + result: + ) + end + + sig do + override.returns( + { + auth_rule_token: T.nilable(String), + explanation: T.nilable(String), + name: T.nilable(String), + result: Lithic::TokenizationRuleResult::Result::TaggedSymbol + } + ) + end + def to_hash + end + + # The result associated with this rule + module Result + extend Lithic::Internal::Type::Enum + + TaggedSymbol = + T.type_alias { T.all(Symbol, Lithic::TokenizationRuleResult::Result) } + OrSymbol = T.type_alias { T.any(Symbol, String) } + + APPROVED = + T.let(:APPROVED, Lithic::TokenizationRuleResult::Result::TaggedSymbol) + DECLINED = + T.let(:DECLINED, Lithic::TokenizationRuleResult::Result::TaggedSymbol) + REQUIRE_TFA = + T.let( + :REQUIRE_TFA, + Lithic::TokenizationRuleResult::Result::TaggedSymbol + ) + ERROR = + T.let(:ERROR, Lithic::TokenizationRuleResult::Result::TaggedSymbol) + + sig do + override.returns( + T::Array[Lithic::TokenizationRuleResult::Result::TaggedSymbol] + ) + end + def self.values + end + end + end + end +end diff --git a/rbi/lithic/models/tokenization_simulate_response.rbi b/rbi/lithic/models/tokenization_simulate_response.rbi deleted file mode 100644 index 0883715f..00000000 --- a/rbi/lithic/models/tokenization_simulate_response.rbi +++ /dev/null @@ -1,33 +0,0 @@ -# typed: strong - -module Lithic - module Models - class TokenizationSimulateResponse < Lithic::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Lithic::Models::TokenizationSimulateResponse, - Lithic::Internal::AnyHash - ) - end - - sig { returns(T.nilable(T::Array[Lithic::Tokenization])) } - attr_reader :data - - sig { params(data: T::Array[Lithic::Tokenization::OrHash]).void } - attr_writer :data - - sig do - params(data: T::Array[Lithic::Tokenization::OrHash]).returns( - T.attached_class - ) - end - def self.new(data: nil) - end - - sig { override.returns({ data: T::Array[Lithic::Tokenization] }) } - def to_hash - end - end - end -end diff --git a/rbi/lithic/models/tokenization_tfa_reason.rbi b/rbi/lithic/models/tokenization_tfa_reason.rbi new file mode 100644 index 00000000..e8637d04 --- /dev/null +++ b/rbi/lithic/models/tokenization_tfa_reason.rbi @@ -0,0 +1,74 @@ +# typed: strong + +module Lithic + module Models + # Reason code for why a tokenization required two-factor authentication + module TokenizationTfaReason + extend Lithic::Internal::Type::Enum + + TaggedSymbol = + T.type_alias { T.all(Symbol, Lithic::TokenizationTfaReason) } + OrSymbol = T.type_alias { T.any(Symbol, String) } + + WALLET_RECOMMENDED_TFA = + T.let( + :WALLET_RECOMMENDED_TFA, + Lithic::TokenizationTfaReason::TaggedSymbol + ) + SUSPICIOUS_ACTIVITY = + T.let(:SUSPICIOUS_ACTIVITY, Lithic::TokenizationTfaReason::TaggedSymbol) + DEVICE_RECENTLY_LOST = + T.let( + :DEVICE_RECENTLY_LOST, + Lithic::TokenizationTfaReason::TaggedSymbol + ) + TOO_MANY_RECENT_ATTEMPTS = + T.let( + :TOO_MANY_RECENT_ATTEMPTS, + Lithic::TokenizationTfaReason::TaggedSymbol + ) + TOO_MANY_RECENT_TOKENS = + T.let( + :TOO_MANY_RECENT_TOKENS, + Lithic::TokenizationTfaReason::TaggedSymbol + ) + TOO_MANY_DIFFERENT_CARDHOLDERS = + T.let( + :TOO_MANY_DIFFERENT_CARDHOLDERS, + Lithic::TokenizationTfaReason::TaggedSymbol + ) + OUTSIDE_HOME_TERRITORY = + T.let( + :OUTSIDE_HOME_TERRITORY, + Lithic::TokenizationTfaReason::TaggedSymbol + ) + HAS_SUSPENDED_TOKENS = + T.let( + :HAS_SUSPENDED_TOKENS, + Lithic::TokenizationTfaReason::TaggedSymbol + ) + HIGH_RISK = T.let(:HIGH_RISK, Lithic::TokenizationTfaReason::TaggedSymbol) + ACCOUNT_SCORE_LOW = + T.let(:ACCOUNT_SCORE_LOW, Lithic::TokenizationTfaReason::TaggedSymbol) + DEVICE_SCORE_LOW = + T.let(:DEVICE_SCORE_LOW, Lithic::TokenizationTfaReason::TaggedSymbol) + CARD_STATE_TFA = + T.let(:CARD_STATE_TFA, Lithic::TokenizationTfaReason::TaggedSymbol) + HARDCODED_TFA = + T.let(:HARDCODED_TFA, Lithic::TokenizationTfaReason::TaggedSymbol) + CUSTOMER_RULE_TFA = + T.let(:CUSTOMER_RULE_TFA, Lithic::TokenizationTfaReason::TaggedSymbol) + DEVICE_HOST_CARD_EMULATION = + T.let( + :DEVICE_HOST_CARD_EMULATION, + Lithic::TokenizationTfaReason::TaggedSymbol + ) + + sig do + override.returns(T::Array[Lithic::TokenizationTfaReason::TaggedSymbol]) + end + def self.values + end + end + end +end diff --git a/rbi/lithic/models/tokenization_update_digital_card_art_response.rbi b/rbi/lithic/models/tokenization_update_digital_card_art_response.rbi deleted file mode 100644 index 5b0976e6..00000000 --- a/rbi/lithic/models/tokenization_update_digital_card_art_response.rbi +++ /dev/null @@ -1,31 +0,0 @@ -# typed: strong - -module Lithic - module Models - class TokenizationUpdateDigitalCardArtResponse < Lithic::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Lithic::Models::TokenizationUpdateDigitalCardArtResponse, - 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/transaction.rbi b/rbi/lithic/models/transaction.rbi index 7c9768a3..7bbde716 100644 --- a/rbi/lithic/models/transaction.rbi +++ b/rbi/lithic/models/transaction.rbi @@ -58,13 +58,13 @@ module Lithic sig { returns(String) } attr_accessor :card_token - sig { returns(T.nilable(Lithic::Transaction::CardholderAuthentication)) } + sig { returns(T.nilable(Lithic::CardholderAuthentication)) } attr_reader :cardholder_authentication sig do params( cardholder_authentication: - T.nilable(Lithic::Transaction::CardholderAuthentication::OrHash) + T.nilable(Lithic::CardholderAuthentication::OrHash) ).void end attr_writer :cardholder_authentication @@ -124,14 +124,10 @@ module Lithic sig { returns(Lithic::Transaction::Status::TaggedSymbol) } attr_accessor :status - sig { returns(T.nilable(Lithic::Transaction::TokenInfo)) } + sig { returns(T.nilable(Lithic::TokenInfo)) } attr_reader :token_info - sig do - params( - token_info: T.nilable(Lithic::Transaction::TokenInfo::OrHash) - ).void - end + sig { params(token_info: T.nilable(Lithic::TokenInfo::OrHash)).void } attr_writer :token_info # Date and time when the transaction last updated. UTC time zone. @@ -157,7 +153,7 @@ module Lithic avs: T.nilable(Lithic::Transaction::Avs::OrHash), card_token: String, cardholder_authentication: - T.nilable(Lithic::Transaction::CardholderAuthentication::OrHash), + T.nilable(Lithic::CardholderAuthentication::OrHash), created: Time, financial_account_token: T.nilable(String), merchant: Lithic::Merchant::OrHash, @@ -170,7 +166,7 @@ module Lithic result: Lithic::Transaction::Result::OrSymbol, settled_amount: Integer, status: Lithic::Transaction::Status::OrSymbol, - token_info: T.nilable(Lithic::Transaction::TokenInfo::OrHash), + token_info: T.nilable(Lithic::TokenInfo::OrHash), updated: Time, events: T::Array[Lithic::Transaction::Event::OrHash] ).returns(T.attached_class) @@ -249,7 +245,7 @@ module Lithic avs: T.nilable(Lithic::Transaction::Avs), card_token: String, cardholder_authentication: - T.nilable(Lithic::Transaction::CardholderAuthentication), + T.nilable(Lithic::CardholderAuthentication), created: Time, financial_account_token: T.nilable(String), merchant: Lithic::Merchant, @@ -262,7 +258,7 @@ module Lithic result: Lithic::Transaction::Result::TaggedSymbol, settled_amount: Integer, status: Lithic::Transaction::Status::TaggedSymbol, - token_info: T.nilable(Lithic::Transaction::TokenInfo), + token_info: T.nilable(Lithic::TokenInfo), updated: Time, events: T::Array[Lithic::Transaction::Event] } @@ -516,310 +512,6 @@ module Lithic end end - class CardholderAuthentication < Lithic::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Lithic::Transaction::CardholderAuthentication, - Lithic::Internal::AnyHash - ) - end - - # Indicates the method used to authenticate the cardholder. - sig do - returns( - Lithic::Transaction::CardholderAuthentication::AuthenticationMethod::TaggedSymbol - ) - end - attr_accessor :authentication_method - - # Indicates the outcome of the 3DS authentication process. - sig do - returns( - Lithic::Transaction::CardholderAuthentication::AuthenticationResult::TaggedSymbol - ) - end - attr_accessor :authentication_result - - # Indicates which party made the 3DS authentication decision. - sig do - returns( - Lithic::Transaction::CardholderAuthentication::DecisionMadeBy::TaggedSymbol - ) - end - attr_accessor :decision_made_by - - # Indicates whether chargeback liability shift applies to the transaction. - # Possible enum values: - # - # - `3DS_AUTHENTICATED`: The transaction was fully authenticated through a 3-D - # Secure flow, chargeback liability shift applies. - # - `NONE`: Chargeback liability shift has not shifted to the issuer, i.e. the - # merchant is liable. - # - `TOKEN_AUTHENTICATED`: The transaction was a tokenized payment with validated - # cryptography, possibly recurring. Chargeback liability shift to the issuer - # applies. - sig do - returns( - Lithic::Transaction::CardholderAuthentication::LiabilityShift::TaggedSymbol - ) - end - attr_accessor :liability_shift - - # Unique identifier you can use to match a given 3DS authentication (available via - # the three_ds_authentication.created event webhook) and the transaction. Note - # that in cases where liability shift does not occur, this token is matched to the - # transaction on a best-effort basis. - sig { returns(T.nilable(String)) } - attr_accessor :three_ds_authentication_token - - sig do - params( - authentication_method: - Lithic::Transaction::CardholderAuthentication::AuthenticationMethod::OrSymbol, - authentication_result: - Lithic::Transaction::CardholderAuthentication::AuthenticationResult::OrSymbol, - decision_made_by: - Lithic::Transaction::CardholderAuthentication::DecisionMadeBy::OrSymbol, - liability_shift: - Lithic::Transaction::CardholderAuthentication::LiabilityShift::OrSymbol, - three_ds_authentication_token: T.nilable(String) - ).returns(T.attached_class) - end - def self.new( - # Indicates the method used to authenticate the cardholder. - authentication_method:, - # Indicates the outcome of the 3DS authentication process. - authentication_result:, - # Indicates which party made the 3DS authentication decision. - decision_made_by:, - # Indicates whether chargeback liability shift applies to the transaction. - # Possible enum values: - # - # - `3DS_AUTHENTICATED`: The transaction was fully authenticated through a 3-D - # Secure flow, chargeback liability shift applies. - # - `NONE`: Chargeback liability shift has not shifted to the issuer, i.e. the - # merchant is liable. - # - `TOKEN_AUTHENTICATED`: The transaction was a tokenized payment with validated - # cryptography, possibly recurring. Chargeback liability shift to the issuer - # applies. - liability_shift:, - # Unique identifier you can use to match a given 3DS authentication (available via - # the three_ds_authentication.created event webhook) and the transaction. Note - # that in cases where liability shift does not occur, this token is matched to the - # transaction on a best-effort basis. - three_ds_authentication_token: - ) - end - - sig do - override.returns( - { - authentication_method: - Lithic::Transaction::CardholderAuthentication::AuthenticationMethod::TaggedSymbol, - authentication_result: - Lithic::Transaction::CardholderAuthentication::AuthenticationResult::TaggedSymbol, - decision_made_by: - Lithic::Transaction::CardholderAuthentication::DecisionMadeBy::TaggedSymbol, - liability_shift: - Lithic::Transaction::CardholderAuthentication::LiabilityShift::TaggedSymbol, - three_ds_authentication_token: T.nilable(String) - } - ) - end - def to_hash - end - - # Indicates the method used to authenticate the cardholder. - module AuthenticationMethod - extend Lithic::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Lithic::Transaction::CardholderAuthentication::AuthenticationMethod - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - FRICTIONLESS = - T.let( - :FRICTIONLESS, - Lithic::Transaction::CardholderAuthentication::AuthenticationMethod::TaggedSymbol - ) - CHALLENGE = - T.let( - :CHALLENGE, - Lithic::Transaction::CardholderAuthentication::AuthenticationMethod::TaggedSymbol - ) - NONE = - T.let( - :NONE, - Lithic::Transaction::CardholderAuthentication::AuthenticationMethod::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Lithic::Transaction::CardholderAuthentication::AuthenticationMethod::TaggedSymbol - ] - ) - end - def self.values - end - end - - # Indicates the outcome of the 3DS authentication process. - module AuthenticationResult - extend Lithic::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Lithic::Transaction::CardholderAuthentication::AuthenticationResult - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - ATTEMPTS = - T.let( - :ATTEMPTS, - Lithic::Transaction::CardholderAuthentication::AuthenticationResult::TaggedSymbol - ) - DECLINE = - T.let( - :DECLINE, - Lithic::Transaction::CardholderAuthentication::AuthenticationResult::TaggedSymbol - ) - NONE = - T.let( - :NONE, - Lithic::Transaction::CardholderAuthentication::AuthenticationResult::TaggedSymbol - ) - SUCCESS = - T.let( - :SUCCESS, - Lithic::Transaction::CardholderAuthentication::AuthenticationResult::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Lithic::Transaction::CardholderAuthentication::AuthenticationResult::TaggedSymbol - ] - ) - end - def self.values - end - end - - # Indicates which party made the 3DS authentication decision. - module DecisionMadeBy - extend Lithic::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Lithic::Transaction::CardholderAuthentication::DecisionMadeBy - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - CUSTOMER_RULES = - T.let( - :CUSTOMER_RULES, - Lithic::Transaction::CardholderAuthentication::DecisionMadeBy::TaggedSymbol - ) - CUSTOMER_ENDPOINT = - T.let( - :CUSTOMER_ENDPOINT, - Lithic::Transaction::CardholderAuthentication::DecisionMadeBy::TaggedSymbol - ) - LITHIC_DEFAULT = - T.let( - :LITHIC_DEFAULT, - Lithic::Transaction::CardholderAuthentication::DecisionMadeBy::TaggedSymbol - ) - LITHIC_RULES = - T.let( - :LITHIC_RULES, - Lithic::Transaction::CardholderAuthentication::DecisionMadeBy::TaggedSymbol - ) - NETWORK = - T.let( - :NETWORK, - Lithic::Transaction::CardholderAuthentication::DecisionMadeBy::TaggedSymbol - ) - UNKNOWN = - T.let( - :UNKNOWN, - Lithic::Transaction::CardholderAuthentication::DecisionMadeBy::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Lithic::Transaction::CardholderAuthentication::DecisionMadeBy::TaggedSymbol - ] - ) - end - def self.values - end - end - - # Indicates whether chargeback liability shift applies to the transaction. - # Possible enum values: - # - # - `3DS_AUTHENTICATED`: The transaction was fully authenticated through a 3-D - # Secure flow, chargeback liability shift applies. - # - `NONE`: Chargeback liability shift has not shifted to the issuer, i.e. the - # merchant is liable. - # - `TOKEN_AUTHENTICATED`: The transaction was a tokenized payment with validated - # cryptography, possibly recurring. Chargeback liability shift to the issuer - # applies. - module LiabilityShift - extend Lithic::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Lithic::Transaction::CardholderAuthentication::LiabilityShift - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - LIABILITY_SHIFT_3DS_AUTHENTICATED = - T.let( - :"3DS_AUTHENTICATED", - Lithic::Transaction::CardholderAuthentication::LiabilityShift::TaggedSymbol - ) - TOKEN_AUTHENTICATED = - T.let( - :TOKEN_AUTHENTICATED, - Lithic::Transaction::CardholderAuthentication::LiabilityShift::TaggedSymbol - ) - NONE = - T.let( - :NONE, - Lithic::Transaction::CardholderAuthentication::LiabilityShift::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Lithic::Transaction::CardholderAuthentication::LiabilityShift::TaggedSymbol - ] - ) - end - def self.values - end - end - end - # Card network of the authorization. Value is `UNKNOWN` when Lithic cannot # determine the network code from the upstream provider. module Network @@ -1616,100 +1308,6 @@ module Lithic end end - class TokenInfo < Lithic::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any(Lithic::Transaction::TokenInfo, Lithic::Internal::AnyHash) - end - - # The wallet_type field will indicate the source of the token. Possible token - # sources include digital wallets (Apple, Google, or Samsung Pay), merchant - # tokenization, and “other” sources like in-flight commerce. Masterpass is not - # currently supported and is included for future use. - sig do - returns(Lithic::Transaction::TokenInfo::WalletType::TaggedSymbol) - end - attr_accessor :wallet_type - - sig do - params( - wallet_type: Lithic::Transaction::TokenInfo::WalletType::OrSymbol - ).returns(T.attached_class) - end - def self.new( - # The wallet_type field will indicate the source of the token. Possible token - # sources include digital wallets (Apple, Google, or Samsung Pay), merchant - # tokenization, and “other” sources like in-flight commerce. Masterpass is not - # currently supported and is included for future use. - wallet_type: - ) - end - - sig do - override.returns( - { - wallet_type: - Lithic::Transaction::TokenInfo::WalletType::TaggedSymbol - } - ) - end - def to_hash - end - - # The wallet_type field will indicate the source of the token. Possible token - # sources include digital wallets (Apple, Google, or Samsung Pay), merchant - # tokenization, and “other” sources like in-flight commerce. Masterpass is not - # currently supported and is included for future use. - module WalletType - extend Lithic::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all(Symbol, Lithic::Transaction::TokenInfo::WalletType) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - APPLE_PAY = - T.let( - :APPLE_PAY, - Lithic::Transaction::TokenInfo::WalletType::TaggedSymbol - ) - GOOGLE_PAY = - T.let( - :GOOGLE_PAY, - Lithic::Transaction::TokenInfo::WalletType::TaggedSymbol - ) - MASTERPASS = - T.let( - :MASTERPASS, - Lithic::Transaction::TokenInfo::WalletType::TaggedSymbol - ) - MERCHANT = - T.let( - :MERCHANT, - Lithic::Transaction::TokenInfo::WalletType::TaggedSymbol - ) - OTHER = - T.let( - :OTHER, - Lithic::Transaction::TokenInfo::WalletType::TaggedSymbol - ) - SAMSUNG_PAY = - T.let( - :SAMSUNG_PAY, - Lithic::Transaction::TokenInfo::WalletType::TaggedSymbol - ) - - sig do - override.returns( - T::Array[Lithic::Transaction::TokenInfo::WalletType::TaggedSymbol] - ) - end - def self.values - end - end - end - class Event < Lithic::Internal::Type::BaseModel OrHash = T.type_alias do diff --git a/rbi/lithic/models/wallet_decisioning_info.rbi b/rbi/lithic/models/wallet_decisioning_info.rbi new file mode 100644 index 00000000..db653ce1 --- /dev/null +++ b/rbi/lithic/models/wallet_decisioning_info.rbi @@ -0,0 +1,63 @@ +# typed: strong + +module Lithic + module Models + class WalletDecisioningInfo < Lithic::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any(Lithic::WalletDecisioningInfo, Lithic::Internal::AnyHash) + end + + # Score given to the account by the Wallet Provider + sig { returns(T.nilable(String)) } + attr_accessor :account_score + + # Score given to the device by the Wallet Provider + sig { returns(T.nilable(String)) } + attr_accessor :device_score + + # The decision recommended by the Wallet Provider + sig { returns(T.nilable(String)) } + attr_accessor :recommended_decision + + # Reasons provided to the Wallet Provider on how the recommended decision was + # reached + sig { returns(T.nilable(T::Array[String])) } + attr_accessor :recommendation_reasons + + sig do + params( + account_score: T.nilable(String), + device_score: T.nilable(String), + recommended_decision: T.nilable(String), + recommendation_reasons: T.nilable(T::Array[String]) + ).returns(T.attached_class) + end + def self.new( + # Score given to the account by the Wallet Provider + account_score:, + # Score given to the device by the Wallet Provider + device_score:, + # The decision recommended by the Wallet Provider + recommended_decision:, + # Reasons provided to the Wallet Provider on how the recommended decision was + # reached + recommendation_reasons: nil + ) + end + + sig do + override.returns( + { + account_score: T.nilable(String), + device_score: T.nilable(String), + recommended_decision: T.nilable(String), + recommendation_reasons: T.nilable(T::Array[String]) + } + ) + end + def to_hash + end + end + end +end diff --git a/rbi/lithic/resources/auth_rules/v2.rbi b/rbi/lithic/resources/auth_rules/v2.rbi index 0ff6ba9f..8b03e59c 100644 --- a/rbi/lithic/resources/auth_rules/v2.rbi +++ b/rbi/lithic/resources/auth_rules/v2.rbi @@ -25,12 +25,11 @@ module Lithic program_level: T::Boolean, account_tokens: T::Array[String], business_account_tokens: T::Array[String], - event_stream: - Lithic::AuthRules::V2CreateParams::EventStream::OrSymbol, + event_stream: Lithic::AuthRules::EventStream::OrSymbol, name: T.nilable(String), excluded_card_tokens: T::Array[String], request_options: Lithic::RequestOptions::OrHash - ).returns(Lithic::Models::AuthRules::V2CreateResponse) + ).returns(Lithic::AuthRules::AuthRule) end def create( # Parameters for the Auth Rule @@ -69,7 +68,7 @@ module Lithic params( auth_rule_token: String, request_options: Lithic::RequestOptions::OrHash - ).returns(Lithic::Models::AuthRules::V2RetrieveResponse) + ).returns(Lithic::AuthRules::AuthRule) end def retrieve(auth_rule_token, request_options: {}) end @@ -90,7 +89,7 @@ module Lithic excluded_card_tokens: T::Array[String], program_level: T::Boolean, request_options: Lithic::RequestOptions::OrHash - ).returns(Lithic::Models::AuthRules::V2UpdateResponse) + ).returns(Lithic::AuthRules::AuthRule) end def update( auth_rule_token, @@ -123,17 +122,13 @@ module Lithic business_account_token: String, card_token: String, ending_before: String, - event_stream: - Lithic::AuthRules::V2ListParams::EventStream::OrSymbol, + event_stream: Lithic::AuthRules::EventStream::OrSymbol, + event_streams: T::Array[Lithic::AuthRules::EventStream::OrSymbol], page_size: Integer, scope: Lithic::AuthRules::V2ListParams::Scope::OrSymbol, starting_after: String, request_options: Lithic::RequestOptions::OrHash - ).returns( - Lithic::Internal::CursorPage[ - Lithic::Models::AuthRules::V2ListResponse - ] - ) + ).returns(Lithic::Internal::CursorPage[Lithic::AuthRules::AuthRule]) end def list( # Only return Auth Rules that are bound to the provided account token. @@ -145,8 +140,13 @@ module Lithic # A cursor representing an item's token before which a page of results should end. # Used to retrieve the previous page of results before this item. ending_before: nil, - # Only return Auth rules that are executed during the provided event stream. + # Deprecated: Use event_streams instead. Only return Auth rules that are executed + # during the provided event stream. event_stream: nil, + # Only return Auth rules that are executed during any of the provided event + # streams. If event_streams and event_stream are specified, the values will be + # combined. + event_streams: nil, # Page size (for pagination). page_size: nil, # Only return Auth Rules that are bound to the provided scope. @@ -188,7 +188,7 @@ module Lithic ) ), request_options: Lithic::RequestOptions::OrHash - ).returns(Lithic::Models::AuthRules::V2DraftResponse) + ).returns(Lithic::AuthRules::AuthRule) end def draft( auth_rule_token, @@ -204,7 +204,7 @@ module Lithic params( auth_rule_token: String, request_options: Lithic::RequestOptions::OrHash - ).returns(Lithic::Models::AuthRules::V2PromoteResponse) + ).returns(Lithic::AuthRules::AuthRule) end def promote(auth_rule_token, request_options: {}) end diff --git a/rbi/lithic/resources/card_bulk_orders.rbi b/rbi/lithic/resources/card_bulk_orders.rbi new file mode 100644 index 00000000..42434340 --- /dev/null +++ b/rbi/lithic/resources/card_bulk_orders.rbi @@ -0,0 +1,101 @@ +# typed: strong + +module Lithic + module Resources + class CardBulkOrders + # Create a new bulk order for physical card shipments **[BETA]**. Cards can be + # added to the order via the POST /v1/cards endpoint by specifying the + # bulk_order_token. Lock the order via PATCH + # /v1/card_bulk_orders/{bulk_order_token} to prepare for shipment. Please work + # with your Customer Success Manager and card personalization bureau to ensure + # bulk shipping is supported for your program. + sig do + params( + customer_product_id: String, + shipping_address: T.anything, + shipping_method: + Lithic::CardBulkOrderCreateParams::ShippingMethod::OrSymbol, + request_options: Lithic::RequestOptions::OrHash + ).returns(Lithic::CardBulkOrder) + end + def create( + # Customer-specified product configuration for physical card manufacturing. This + # must be configured with Lithic before use + customer_product_id:, + # Shipping address for all cards in this bulk order + shipping_address:, + # Shipping method for all cards in this bulk order + shipping_method:, + request_options: {} + ) + end + + # Retrieve a specific bulk order by token **[BETA]** + sig do + params( + bulk_order_token: String, + request_options: Lithic::RequestOptions::OrHash + ).returns(Lithic::CardBulkOrder) + end + def retrieve( + # Globally unique identifier for the bulk order + bulk_order_token, + request_options: {} + ) + end + + # Update a bulk order **[BETA]**. Primarily used to lock the order, preventing + # additional cards from being added + sig do + params( + bulk_order_token: String, + status: Lithic::CardBulkOrderUpdateParams::Status::OrSymbol, + request_options: Lithic::RequestOptions::OrHash + ).returns(Lithic::CardBulkOrder) + end + def update( + # Globally unique identifier for the bulk order + bulk_order_token, + # Status to update the bulk order to. Use LOCKED to finalize the order + status:, + request_options: {} + ) + end + + # List bulk orders for physical card shipments **[BETA]** + sig do + params( + begin_: Time, + end_: Time, + ending_before: String, + page_size: Integer, + starting_after: String, + request_options: Lithic::RequestOptions::OrHash + ).returns(Lithic::Internal::CursorPage[Lithic::CardBulkOrder]) + end + def list( + # Date string in RFC 3339 format. Only entries created after the specified time + # will be included. UTC time zone. + begin_: 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, + # Page size (for pagination). + page_size: nil, + # A cursor representing an item's token after which a page of results should + # begin. Used to retrieve the next page of results after this item. + starting_after: nil, + 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/cards.rbi b/rbi/lithic/resources/cards.rbi index 644342f3..335c216d 100644 --- a/rbi/lithic/resources/cards.rbi +++ b/rbi/lithic/resources/cards.rbi @@ -18,6 +18,7 @@ module Lithic params( type: Lithic::CardCreateParams::Type::OrSymbol, account_token: String, + bulk_order_token: String, card_program_token: String, carrier: Lithic::Carrier::OrHash, digital_card_art_token: String, @@ -62,6 +63,10 @@ module Lithic # [/account_holders endpoint](https://docs.lithic.com/docs/account-holders-kyc). # See [Managing Your Program](doc:managing-your-program) for more information. account_token: nil, + # Globally unique identifier for an existing bulk order to associate this card + # with. When specified, the card will be added to the bulk order for batch + # shipment. Only applicable to cards of type PHYSICAL + bulk_order_token: nil, # For card programs with more than one BIN range. This must be configured with # Lithic before use. Identifies the card program/BIN range under which to create # the card. If omitted, will utilize the program's default `card_program_token`. @@ -147,6 +152,7 @@ module Lithic # tracking # - `EXPEDITED` - FedEx or UPS depending on card manufacturer, Standard Overnight # or similar international option, with tracking + # - `BULK_EXPEDITED` - Bulk shipment with Expedited shipping shipping_method: nil, # Amount (in cents) to limit approved authorizations (e.g. 100000 would be a # $1,000 limit). Transaction requests above the spend limit will be declined. Note @@ -374,6 +380,7 @@ module Lithic # tracking # - `EXPEDITED` - FedEx or UPS depending on card manufacturer, Standard Overnight # or similar international option, with tracking + # - `BULK_EXPEDITED` - Bulk shipment with Expedited shipping shipping_method: nil, request_options: {} ) @@ -509,6 +516,7 @@ module Lithic # tracking # - `EXPEDITED` - FedEx or UPS depending on card manufacturer, Standard Overnight # or similar international option, with tracking + # - `BULK_EXPEDITED` - Bulk shipment with Expedited shipping shipping_method: nil, request_options: {} ) @@ -565,6 +573,7 @@ module Lithic # tracking # - `EXPEDITED` - FedEx or UPS depending on card manufacturer, Standard Overnight # or similar international option, with tracking + # - `BULK_EXPEDITED` - Bulk shipment with Expedited shipping shipping_method: nil, request_options: {} ) @@ -610,16 +619,28 @@ module Lithic sig do params( card_token: String, + client_device_id: String, + client_wallet_account_id: String, digital_wallet: Lithic::CardWebProvisionParams::DigitalWallet::OrSymbol, + server_session_id: String, request_options: Lithic::RequestOptions::OrHash - ).returns(Lithic::Models::CardWebProvisionResponse) + ).returns(Lithic::Models::CardWebProvisionResponse::Variants) end def web_provision( # The unique token of the card to add to the device's digital wallet. card_token, + # Only applicable if `digital_wallet` is GOOGLE_PAY. Google Pay Web Push + # Provisioning device identifier required for the tokenization flow + client_device_id: nil, + # Only applicable if `digital_wallet` is GOOGLE_PAY. Google Pay Web Push + # Provisioning wallet account identifier required for the tokenization flow + client_wallet_account_id: nil, # Name of digital wallet provider. digital_wallet: nil, + # Only applicable if `digital_wallet` is GOOGLE_PAY. Google Pay Web Push + # Provisioning session identifier required for the FPAN flow. + server_session_id: nil, request_options: {} ) end diff --git a/rbi/lithic/resources/cards/balances.rbi b/rbi/lithic/resources/cards/balances.rbi index 356118f5..c549bc87 100644 --- a/rbi/lithic/resources/cards/balances.rbi +++ b/rbi/lithic/resources/cards/balances.rbi @@ -12,9 +12,7 @@ module Lithic last_transaction_event_token: String, request_options: Lithic::RequestOptions::OrHash ).returns( - Lithic::Internal::SinglePage[ - Lithic::Models::Cards::BalanceListResponse - ] + Lithic::Internal::SinglePage[Lithic::FinancialAccountBalance] ) end def list( diff --git a/rbi/lithic/resources/external_bank_accounts.rbi b/rbi/lithic/resources/external_bank_accounts.rbi index 4e2c95c3..fb5a0264 100644 --- a/rbi/lithic/resources/external_bank_accounts.rbi +++ b/rbi/lithic/resources/external_bank_accounts.rbi @@ -188,7 +188,7 @@ module Lithic external_bank_account_token: String, financial_account_token: String, request_options: Lithic::RequestOptions::OrHash - ).returns(Lithic::Models::ExternalBankAccountRetryPrenoteResponse) + ).returns(Lithic::ExternalBankAccount) end def retry_prenote( external_bank_account_token, @@ -202,7 +202,7 @@ module Lithic params( external_bank_account_token: String, request_options: Lithic::RequestOptions::OrHash - ).returns(Lithic::Models::ExternalBankAccountUnpauseResponse) + ).returns(Lithic::ExternalBankAccount) end def unpause(external_bank_account_token, request_options: {}) end diff --git a/rbi/lithic/resources/financial_accounts/balances.rbi b/rbi/lithic/resources/financial_accounts/balances.rbi index 70039394..64889964 100644 --- a/rbi/lithic/resources/financial_accounts/balances.rbi +++ b/rbi/lithic/resources/financial_accounts/balances.rbi @@ -12,9 +12,7 @@ module Lithic last_transaction_event_token: String, request_options: Lithic::RequestOptions::OrHash ).returns( - Lithic::Internal::SinglePage[ - Lithic::Models::FinancialAccounts::BalanceListResponse - ] + Lithic::Internal::SinglePage[Lithic::FinancialAccountBalance] ) end def list( diff --git a/rbi/lithic/resources/funding_events.rbi b/rbi/lithic/resources/funding_events.rbi index 31a15473..8b97aa4e 100644 --- a/rbi/lithic/resources/funding_events.rbi +++ b/rbi/lithic/resources/funding_events.rbi @@ -8,7 +8,7 @@ module Lithic params( funding_event_token: String, request_options: Lithic::RequestOptions::OrHash - ).returns(Lithic::Models::FundingEventRetrieveResponse) + ).returns(Lithic::FundingEvent) end def retrieve( # Globally unique identifier for funding event. @@ -24,9 +24,7 @@ module Lithic page_size: Integer, starting_after: String, request_options: Lithic::RequestOptions::OrHash - ).returns( - Lithic::Internal::CursorPage[Lithic::Models::FundingEventListResponse] - ) + ).returns(Lithic::Internal::CursorPage[Lithic::FundingEvent]) end def list( # A cursor representing an item's token before which a page of results should end. diff --git a/rbi/lithic/resources/internal_transaction.rbi b/rbi/lithic/resources/internal_transaction.rbi new file mode 100644 index 00000000..53f15ac9 --- /dev/null +++ b/rbi/lithic/resources/internal_transaction.rbi @@ -0,0 +1,12 @@ +# typed: strong + +module Lithic + module Resources + class InternalTransaction + # @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/reports/settlement/network_totals.rbi b/rbi/lithic/resources/reports/settlement/network_totals.rbi index 882c26b8..517f6878 100644 --- a/rbi/lithic/resources/reports/settlement/network_totals.rbi +++ b/rbi/lithic/resources/reports/settlement/network_totals.rbi @@ -10,9 +10,7 @@ module Lithic params( token: String, request_options: Lithic::RequestOptions::OrHash - ).returns( - Lithic::Models::Reports::Settlement::NetworkTotalRetrieveResponse - ) + ).returns(Lithic::NetworkTotal) end def retrieve( # Token of the network total record to retrieve @@ -37,11 +35,7 @@ module Lithic settlement_institution_id: String, starting_after: String, request_options: Lithic::RequestOptions::OrHash - ).returns( - Lithic::Internal::CursorPage[ - Lithic::Models::Reports::Settlement::NetworkTotalListResponse - ] - ) + ).returns(Lithic::Internal::CursorPage[Lithic::NetworkTotal]) end def list( # Datetime in RFC 3339 format. Only entries created after the specified time will diff --git a/rbi/lithic/resources/three_ds/authentication.rbi b/rbi/lithic/resources/three_ds/authentication.rbi index ec8c1309..f33fddd4 100644 --- a/rbi/lithic/resources/three_ds/authentication.rbi +++ b/rbi/lithic/resources/three_ds/authentication.rbi @@ -9,7 +9,7 @@ module Lithic params( three_ds_authentication_token: String, request_options: Lithic::RequestOptions::OrHash - ).returns(Lithic::Models::ThreeDS::AuthenticationRetrieveResponse) + ).returns(Lithic::ThreeDSAuthentication) end def retrieve( # Globally unique identifier for the 3DS authentication. diff --git a/rbi/lithic/resources/tokenizations.rbi b/rbi/lithic/resources/tokenizations.rbi index 8477f421..12d04ff9 100644 --- a/rbi/lithic/resources/tokenizations.rbi +++ b/rbi/lithic/resources/tokenizations.rbi @@ -164,7 +164,7 @@ module Lithic wallet_recommended_decision: Lithic::TokenizationSimulateParams::WalletRecommendedDecision::OrSymbol, request_options: Lithic::RequestOptions::OrHash - ).returns(Lithic::Models::TokenizationSimulateResponse) + ).returns(Lithic::Tokenization) end def simulate( # The three digit cvv for the card. @@ -223,7 +223,7 @@ module Lithic tokenization_token: String, digital_card_art_token: String, request_options: Lithic::RequestOptions::OrHash - ).returns(Lithic::Models::TokenizationUpdateDigitalCardArtResponse) + ).returns(Lithic::Tokenization) end def update_digital_card_art( # Tokenization token diff --git a/sig/lithic/client.rbs b/sig/lithic/client.rbs index 19f25f0b..f309397d 100644 --- a/sig/lithic/client.rbs +++ b/sig/lithic/client.rbs @@ -29,6 +29,8 @@ module Lithic attr_reader cards: Lithic::Resources::Cards + attr_reader card_bulk_orders: Lithic::Resources::CardBulkOrders + attr_reader balances: Lithic::Resources::Balances attr_reader aggregate_balances: Lithic::Resources::AggregateBalances @@ -67,6 +69,8 @@ module Lithic attr_reader management_operations: Lithic::Resources::ManagementOperations + attr_reader internal_transaction: Lithic::Resources::InternalTransaction + attr_reader funding_events: Lithic::Resources::FundingEvents attr_reader fraud: Lithic::Resources::Fraud diff --git a/sig/lithic/models.rbs b/sig/lithic/models.rbs index e8f63cb6..bffa68d2 100644 --- a/sig/lithic/models.rbs +++ b/sig/lithic/models.rbs @@ -71,12 +71,24 @@ module Lithic class Card = Lithic::Models::Card + class CardBulkOrder = Lithic::Models::CardBulkOrder + + class CardBulkOrderCreateParams = Lithic::Models::CardBulkOrderCreateParams + + class CardBulkOrderListParams = Lithic::Models::CardBulkOrderListParams + + class CardBulkOrderRetrieveParams = Lithic::Models::CardBulkOrderRetrieveParams + + class CardBulkOrderUpdateParams = Lithic::Models::CardBulkOrderUpdateParams + class CardConvertPhysicalParams = Lithic::Models::CardConvertPhysicalParams class CardCreateParams = Lithic::Models::CardCreateParams class CardEmbedParams = Lithic::Models::CardEmbedParams + class CardholderAuthentication = Lithic::Models::CardholderAuthentication + class CardListParams = Lithic::Models::CardListParams class CardProgram = Lithic::Models::CardProgram @@ -115,12 +127,16 @@ module Lithic class Currency = Lithic::Models::Currency + class Device = Lithic::Models::Device + class DigitalCardArtAPI = Lithic::Models::DigitalCardArtAPI class DigitalCardArtListParams = Lithic::Models::DigitalCardArtListParams class DigitalCardArtRetrieveParams = Lithic::Models::DigitalCardArtRetrieveParams + class DigitalWalletTokenMetadata = Lithic::Models::DigitalWalletTokenMetadata + class Dispute = Lithic::Models::Dispute class DisputeCreateParams = Lithic::Models::DisputeCreateParams @@ -163,6 +179,8 @@ module Lithic class EventSubscription = Lithic::Models::EventSubscription + class ExternalBankAccount = Lithic::Models::ExternalBankAccount + class ExternalBankAccountAddress = Lithic::Models::ExternalBankAccountAddress class ExternalBankAccountCreateParams = Lithic::Models::ExternalBankAccountCreateParams @@ -203,6 +221,8 @@ module Lithic class FinancialAccount = Lithic::Models::FinancialAccount + class FinancialAccountBalance = Lithic::Models::FinancialAccountBalance + class FinancialAccountCreateParams = Lithic::Models::FinancialAccountCreateParams class FinancialAccountListParams = Lithic::Models::FinancialAccountListParams @@ -223,6 +243,8 @@ module Lithic module Fraud = Lithic::Models::Fraud + class FundingEvent = Lithic::Models::FundingEvent + class FundingEventListParams = Lithic::Models::FundingEventListParams class FundingEventRetrieveDetailsParams = Lithic::Models::FundingEventRetrieveDetailsParams @@ -231,6 +253,8 @@ module Lithic module InstanceFinancialAccountType = Lithic::Models::InstanceFinancialAccountType + class InternalTransactionAPI = Lithic::Models::InternalTransactionAPI + class KYB = Lithic::Models::KYB class KYBBusinessEntity = Lithic::Models::KYBBusinessEntity @@ -259,6 +283,8 @@ module Lithic class NetworkProgramRetrieveParams = Lithic::Models::NetworkProgramRetrieveParams + class NetworkTotal = Lithic::Models::NetworkTotal + class NonPCICard = Lithic::Models::NonPCICard module OwnerType = Lithic::Models::OwnerType @@ -311,6 +337,10 @@ module Lithic module ThreeDS = Lithic::Models::ThreeDS + class ThreeDSAuthentication = Lithic::Models::ThreeDSAuthentication + + class TokenInfo = Lithic::Models::TokenInfo + class Tokenization = Lithic::Models::Tokenization class TokenizationActivateParams = Lithic::Models::TokenizationActivateParams @@ -321,6 +351,8 @@ module Lithic class TokenizationDecisioningRotateSecretParams = Lithic::Models::TokenizationDecisioningRotateSecretParams + module TokenizationDeclineReason = Lithic::Models::TokenizationDeclineReason + class TokenizationListParams = Lithic::Models::TokenizationListParams class TokenizationPauseParams = Lithic::Models::TokenizationPauseParams @@ -329,10 +361,14 @@ module Lithic class TokenizationRetrieveParams = Lithic::Models::TokenizationRetrieveParams + class TokenizationRuleResult = Lithic::Models::TokenizationRuleResult + class TokenizationSecret = Lithic::Models::TokenizationSecret class TokenizationSimulateParams = Lithic::Models::TokenizationSimulateParams + module TokenizationTfaReason = Lithic::Models::TokenizationTfaReason + class TokenizationUnpauseParams = Lithic::Models::TokenizationUnpauseParams class TokenizationUpdateDigitalCardArtParams = Lithic::Models::TokenizationUpdateDigitalCardArtParams @@ -367,5 +403,7 @@ module Lithic module VerificationMethod = Lithic::Models::VerificationMethod + class WalletDecisioningInfo = Lithic::Models::WalletDecisioningInfo + class WirePartyDetails = Lithic::Models::WirePartyDetails end diff --git a/sig/lithic/models/account_activity_list_params.rbs b/sig/lithic/models/account_activity_list_params.rbs index 8da27203..a31eb799 100644 --- a/sig/lithic/models/account_activity_list_params.rbs +++ b/sig/lithic/models/account_activity_list_params.rbs @@ -111,6 +111,8 @@ module Lithic | :CARD | :EXTERNAL_ACH | :EXTERNAL_CHECK + | :EXTERNAL_FEDNOW + | :EXTERNAL_RTP | :EXTERNAL_TRANSFER | :EXTERNAL_WIRE | :MANAGEMENT_ADJUSTMENT @@ -133,6 +135,8 @@ module Lithic CARD: :CARD EXTERNAL_ACH: :EXTERNAL_ACH EXTERNAL_CHECK: :EXTERNAL_CHECK + EXTERNAL_FEDNOW: :EXTERNAL_FEDNOW + EXTERNAL_RTP: :EXTERNAL_RTP EXTERNAL_TRANSFER: :EXTERNAL_TRANSFER EXTERNAL_WIRE: :EXTERNAL_WIRE MANAGEMENT_ADJUSTMENT: :MANAGEMENT_ADJUSTMENT diff --git a/sig/lithic/models/account_activity_list_response.rbs b/sig/lithic/models/account_activity_list_response.rbs index fa6809fd..ecae23ac 100644 --- a/sig/lithic/models/account_activity_list_response.rbs +++ b/sig/lithic/models/account_activity_list_response.rbs @@ -98,6 +98,8 @@ module Lithic | :CARD | :EXTERNAL_ACH | :EXTERNAL_CHECK + | :EXTERNAL_FEDNOW + | :EXTERNAL_RTP | :EXTERNAL_TRANSFER | :EXTERNAL_WIRE | :MANAGEMENT_ADJUSTMENT @@ -120,6 +122,8 @@ module Lithic CARD: :CARD EXTERNAL_ACH: :EXTERNAL_ACH EXTERNAL_CHECK: :EXTERNAL_CHECK + EXTERNAL_FEDNOW: :EXTERNAL_FEDNOW + EXTERNAL_RTP: :EXTERNAL_RTP EXTERNAL_TRANSFER: :EXTERNAL_TRANSFER EXTERNAL_WIRE: :EXTERNAL_WIRE MANAGEMENT_ADJUSTMENT: :MANAGEMENT_ADJUSTMENT diff --git a/sig/lithic/models/account_activity_retrieve_transaction_response.rbs b/sig/lithic/models/account_activity_retrieve_transaction_response.rbs index 91bcf695..2f67c0db 100644 --- a/sig/lithic/models/account_activity_retrieve_transaction_response.rbs +++ b/sig/lithic/models/account_activity_retrieve_transaction_response.rbs @@ -98,6 +98,8 @@ module Lithic | :CARD | :EXTERNAL_ACH | :EXTERNAL_CHECK + | :EXTERNAL_FEDNOW + | :EXTERNAL_RTP | :EXTERNAL_TRANSFER | :EXTERNAL_WIRE | :MANAGEMENT_ADJUSTMENT @@ -120,6 +122,8 @@ module Lithic CARD: :CARD EXTERNAL_ACH: :EXTERNAL_ACH EXTERNAL_CHECK: :EXTERNAL_CHECK + EXTERNAL_FEDNOW: :EXTERNAL_FEDNOW + EXTERNAL_RTP: :EXTERNAL_RTP EXTERNAL_TRANSFER: :EXTERNAL_TRANSFER EXTERNAL_WIRE: :EXTERNAL_WIRE MANAGEMENT_ADJUSTMENT: :MANAGEMENT_ADJUSTMENT diff --git a/sig/lithic/models/auth_rules/auth_rule.rbs b/sig/lithic/models/auth_rules/auth_rule.rbs index ad6b242b..a87603f1 100644 --- a/sig/lithic/models/auth_rules/auth_rule.rbs +++ b/sig/lithic/models/auth_rules/auth_rule.rbs @@ -6,73 +6,155 @@ module Lithic type auth_rule = { token: String, - state: Lithic::Models::AuthRules::AuthRule::state, account_tokens: ::Array[String], - allowed_countries: ::Array[String], - allowed_mcc: ::Array[String], - blocked_countries: ::Array[String], - blocked_mcc: ::Array[String], + business_account_tokens: ::Array[String], card_tokens: ::Array[String], - program_level: bool + current_version: Lithic::AuthRules::AuthRule::CurrentVersion?, + draft_version: Lithic::AuthRules::AuthRule::DraftVersion?, + event_stream: Lithic::Models::AuthRules::event_stream, + lithic_managed: bool, + name: String?, + program_level: bool, + state: Lithic::Models::AuthRules::AuthRule::state, + type: Lithic::Models::AuthRules::AuthRule::type_, + excluded_card_tokens: ::Array[String] } class AuthRule < Lithic::Internal::Type::BaseModel attr_accessor token: String - attr_accessor state: Lithic::Models::AuthRules::AuthRule::state - - attr_reader account_tokens: ::Array[String]? - - def account_tokens=: (::Array[String]) -> ::Array[String] + attr_accessor account_tokens: ::Array[String] - attr_reader allowed_countries: ::Array[String]? + attr_accessor business_account_tokens: ::Array[String] - def allowed_countries=: (::Array[String]) -> ::Array[String] + attr_accessor card_tokens: ::Array[String] - attr_reader allowed_mcc: ::Array[String]? + attr_accessor current_version: Lithic::AuthRules::AuthRule::CurrentVersion? - def allowed_mcc=: (::Array[String]) -> ::Array[String] + attr_accessor draft_version: Lithic::AuthRules::AuthRule::DraftVersion? - attr_reader blocked_countries: ::Array[String]? + attr_accessor event_stream: Lithic::Models::AuthRules::event_stream - def blocked_countries=: (::Array[String]) -> ::Array[String] + attr_accessor lithic_managed: bool - attr_reader blocked_mcc: ::Array[String]? + attr_accessor name: String? - def blocked_mcc=: (::Array[String]) -> ::Array[String] + attr_accessor program_level: bool - attr_reader card_tokens: ::Array[String]? + attr_accessor state: Lithic::Models::AuthRules::AuthRule::state - def card_tokens=: (::Array[String]) -> ::Array[String] + attr_accessor type: Lithic::Models::AuthRules::AuthRule::type_ - attr_reader program_level: bool? + attr_reader excluded_card_tokens: ::Array[String]? - def program_level=: (bool) -> bool + def excluded_card_tokens=: (::Array[String]) -> ::Array[String] def initialize: ( token: String, + account_tokens: ::Array[String], + business_account_tokens: ::Array[String], + card_tokens: ::Array[String], + current_version: Lithic::AuthRules::AuthRule::CurrentVersion?, + draft_version: Lithic::AuthRules::AuthRule::DraftVersion?, + event_stream: Lithic::Models::AuthRules::event_stream, + lithic_managed: bool, + name: String?, + program_level: bool, state: Lithic::Models::AuthRules::AuthRule::state, - ?account_tokens: ::Array[String], - ?allowed_countries: ::Array[String], - ?allowed_mcc: ::Array[String], - ?blocked_countries: ::Array[String], - ?blocked_mcc: ::Array[String], - ?card_tokens: ::Array[String], - ?program_level: bool + type: Lithic::Models::AuthRules::AuthRule::type_, + ?excluded_card_tokens: ::Array[String] ) -> void def to_hash: -> { token: String, - state: Lithic::Models::AuthRules::AuthRule::state, account_tokens: ::Array[String], - allowed_countries: ::Array[String], - allowed_mcc: ::Array[String], - blocked_countries: ::Array[String], - blocked_mcc: ::Array[String], + business_account_tokens: ::Array[String], card_tokens: ::Array[String], - program_level: bool + current_version: Lithic::AuthRules::AuthRule::CurrentVersion?, + draft_version: Lithic::AuthRules::AuthRule::DraftVersion?, + event_stream: Lithic::Models::AuthRules::event_stream, + lithic_managed: bool, + name: String?, + program_level: bool, + state: Lithic::Models::AuthRules::AuthRule::state, + type: Lithic::Models::AuthRules::AuthRule::type_, + excluded_card_tokens: ::Array[String] } + type current_version = + { + parameters: Lithic::Models::AuthRules::AuthRule::CurrentVersion::parameters, + version: Integer + } + + class CurrentVersion < Lithic::Internal::Type::BaseModel + attr_accessor parameters: Lithic::Models::AuthRules::AuthRule::CurrentVersion::parameters + + attr_accessor version: Integer + + def initialize: ( + parameters: Lithic::Models::AuthRules::AuthRule::CurrentVersion::parameters, + version: Integer + ) -> void + + def to_hash: -> { + parameters: Lithic::Models::AuthRules::AuthRule::CurrentVersion::parameters, + version: Integer + } + + type parameters = + Lithic::AuthRules::ConditionalBlockParameters + | Lithic::AuthRules::VelocityLimitParams + | Lithic::AuthRules::MerchantLockParameters + | Lithic::AuthRules::Conditional3DSActionParameters + | Lithic::AuthRules::ConditionalAuthorizationActionParameters + | Lithic::AuthRules::ConditionalACHActionParameters + | Lithic::AuthRules::ConditionalTokenizationActionParameters + + module Parameters + extend Lithic::Internal::Type::Union + + def self?.variants: -> ::Array[Lithic::Models::AuthRules::AuthRule::CurrentVersion::parameters] + end + end + + type draft_version = + { + parameters: Lithic::Models::AuthRules::AuthRule::DraftVersion::parameters, + version: Integer + } + + class DraftVersion < Lithic::Internal::Type::BaseModel + attr_accessor parameters: Lithic::Models::AuthRules::AuthRule::DraftVersion::parameters + + attr_accessor version: Integer + + def initialize: ( + parameters: Lithic::Models::AuthRules::AuthRule::DraftVersion::parameters, + version: Integer + ) -> void + + def to_hash: -> { + parameters: Lithic::Models::AuthRules::AuthRule::DraftVersion::parameters, + version: Integer + } + + type parameters = + Lithic::AuthRules::ConditionalBlockParameters + | Lithic::AuthRules::VelocityLimitParams + | Lithic::AuthRules::MerchantLockParameters + | Lithic::AuthRules::Conditional3DSActionParameters + | Lithic::AuthRules::ConditionalAuthorizationActionParameters + | Lithic::AuthRules::ConditionalACHActionParameters + | Lithic::AuthRules::ConditionalTokenizationActionParameters + + module Parameters + extend Lithic::Internal::Type::Union + + def self?.variants: -> ::Array[Lithic::Models::AuthRules::AuthRule::DraftVersion::parameters] + end + end + type state = :ACTIVE | :INACTIVE module State @@ -83,6 +165,23 @@ module Lithic def self?.values: -> ::Array[Lithic::Models::AuthRules::AuthRule::state] end + + type type_ = + :CONDITIONAL_BLOCK + | :VELOCITY_LIMIT + | :MERCHANT_LOCK + | :CONDITIONAL_ACTION + + module Type + extend Lithic::Internal::Type::Enum + + CONDITIONAL_BLOCK: :CONDITIONAL_BLOCK + VELOCITY_LIMIT: :VELOCITY_LIMIT + MERCHANT_LOCK: :MERCHANT_LOCK + CONDITIONAL_ACTION: :CONDITIONAL_ACTION + + def self?.values: -> ::Array[Lithic::Models::AuthRules::AuthRule::type_] + end end end end diff --git a/sig/lithic/models/auth_rules/conditional_operation.rbs b/sig/lithic/models/auth_rules/conditional_operation.rbs index 1eaacc6b..c1280caa 100644 --- a/sig/lithic/models/auth_rules/conditional_operation.rbs +++ b/sig/lithic/models/auth_rules/conditional_operation.rbs @@ -12,6 +12,11 @@ module Lithic | :IS_GREATER_THAN_OR_EQUAL_TO | :IS_LESS_THAN | :IS_LESS_THAN_OR_EQUAL_TO + | :IS_AFTER + | :IS_BEFORE + | :CONTAINS_ANY + | :CONTAINS_ALL + | :CONTAINS_NONE module ConditionalOperation extend Lithic::Internal::Type::Enum @@ -26,6 +31,11 @@ module Lithic IS_GREATER_THAN_OR_EQUAL_TO: :IS_GREATER_THAN_OR_EQUAL_TO IS_LESS_THAN: :IS_LESS_THAN IS_LESS_THAN_OR_EQUAL_TO: :IS_LESS_THAN_OR_EQUAL_TO + IS_AFTER: :IS_AFTER + IS_BEFORE: :IS_BEFORE + CONTAINS_ANY: :CONTAINS_ANY + CONTAINS_ALL: :CONTAINS_ALL + CONTAINS_NONE: :CONTAINS_NONE def self?.values: -> ::Array[Lithic::Models::AuthRules::conditional_operation] end diff --git a/sig/lithic/models/auth_rules/conditional_tokenization_action_parameters.rbs b/sig/lithic/models/auth_rules/conditional_tokenization_action_parameters.rbs index 7fe94ae5..9c575bd7 100644 --- a/sig/lithic/models/auth_rules/conditional_tokenization_action_parameters.rbs +++ b/sig/lithic/models/auth_rules/conditional_tokenization_action_parameters.rbs @@ -212,6 +212,7 @@ module Lithic | :WALLET_ACCOUNT_SCORE | :WALLET_DEVICE_SCORE | :WALLET_RECOMMENDED_DECISION + | :WALLET_RECOMMENDATION_REASONS | :TOKEN_REQUESTOR_ID | :WALLET_TOKEN_STATUS @@ -225,6 +226,7 @@ module Lithic WALLET_ACCOUNT_SCORE: :WALLET_ACCOUNT_SCORE WALLET_DEVICE_SCORE: :WALLET_DEVICE_SCORE WALLET_RECOMMENDED_DECISION: :WALLET_RECOMMENDED_DECISION + WALLET_RECOMMENDATION_REASONS: :WALLET_RECOMMENDATION_REASONS TOKEN_REQUESTOR_ID: :TOKEN_REQUESTOR_ID WALLET_TOKEN_STATUS: :WALLET_TOKEN_STATUS diff --git a/sig/lithic/models/auth_rules/conditional_value.rbs b/sig/lithic/models/auth_rules/conditional_value.rbs index 89c50e74..60485439 100644 --- a/sig/lithic/models/auth_rules/conditional_value.rbs +++ b/sig/lithic/models/auth_rules/conditional_value.rbs @@ -1,7 +1,7 @@ module Lithic module Models module AuthRules - type conditional_value = String | Integer | ::Array[String] + type conditional_value = String | Integer | ::Array[String] | Time module ConditionalValue extend Lithic::Internal::Type::Union diff --git a/sig/lithic/models/auth_rules/event_stream.rbs b/sig/lithic/models/auth_rules/event_stream.rbs new file mode 100644 index 00000000..f8261bad --- /dev/null +++ b/sig/lithic/models/auth_rules/event_stream.rbs @@ -0,0 +1,24 @@ +module Lithic + module Models + module AuthRules + type event_stream = + :AUTHORIZATION + | :THREE_DS_AUTHENTICATION + | :TOKENIZATION + | :ACH_CREDIT_RECEIPT + | :ACH_DEBIT_RECEIPT + + module EventStream + extend Lithic::Internal::Type::Enum + + AUTHORIZATION: :AUTHORIZATION + THREE_DS_AUTHENTICATION: :THREE_DS_AUTHENTICATION + TOKENIZATION: :TOKENIZATION + ACH_CREDIT_RECEIPT: :ACH_CREDIT_RECEIPT + ACH_DEBIT_RECEIPT: :ACH_DEBIT_RECEIPT + + def self?.values: -> ::Array[Lithic::Models::AuthRules::event_stream] + end + end + end +end diff --git a/sig/lithic/models/auth_rules/v2_create_params.rbs b/sig/lithic/models/auth_rules/v2_create_params.rbs index 0032aebc..65d7fc46 100644 --- a/sig/lithic/models/auth_rules/v2_create_params.rbs +++ b/sig/lithic/models/auth_rules/v2_create_params.rbs @@ -7,7 +7,7 @@ module Lithic type: Lithic::Models::AuthRules::V2CreateParams::type_, account_tokens: ::Array[String], business_account_tokens: ::Array[String], - event_stream: Lithic::Models::AuthRules::V2CreateParams::event_stream, + event_stream: Lithic::Models::AuthRules::event_stream, name: String?, card_tokens: ::Array[String], program_level: bool, @@ -31,11 +31,11 @@ module Lithic def business_account_tokens=: (::Array[String]) -> ::Array[String] - attr_reader event_stream: Lithic::Models::AuthRules::V2CreateParams::event_stream? + attr_reader event_stream: Lithic::Models::AuthRules::event_stream? def event_stream=: ( - Lithic::Models::AuthRules::V2CreateParams::event_stream - ) -> Lithic::Models::AuthRules::V2CreateParams::event_stream + Lithic::Models::AuthRules::event_stream + ) -> Lithic::Models::AuthRules::event_stream attr_accessor name: String? @@ -54,7 +54,7 @@ module Lithic program_level: bool, ?account_tokens: ::Array[String], ?business_account_tokens: ::Array[String], - ?event_stream: Lithic::Models::AuthRules::V2CreateParams::event_stream, + ?event_stream: Lithic::Models::AuthRules::event_stream, ?name: String?, ?excluded_card_tokens: ::Array[String], ?request_options: Lithic::request_opts @@ -65,7 +65,7 @@ module Lithic type: Lithic::Models::AuthRules::V2CreateParams::type_, account_tokens: ::Array[String], business_account_tokens: ::Array[String], - event_stream: Lithic::Models::AuthRules::V2CreateParams::event_stream, + event_stream: Lithic::Models::AuthRules::event_stream, name: String?, card_tokens: ::Array[String], program_level: bool, @@ -104,25 +104,6 @@ module Lithic def self?.values: -> ::Array[Lithic::Models::AuthRules::V2CreateParams::type_] end - - type event_stream = - :AUTHORIZATION - | :THREE_DS_AUTHENTICATION - | :TOKENIZATION - | :ACH_CREDIT_RECEIPT - | :ACH_DEBIT_RECEIPT - - module EventStream - extend Lithic::Internal::Type::Enum - - AUTHORIZATION: :AUTHORIZATION - THREE_DS_AUTHENTICATION: :THREE_DS_AUTHENTICATION - TOKENIZATION: :TOKENIZATION - ACH_CREDIT_RECEIPT: :ACH_CREDIT_RECEIPT - ACH_DEBIT_RECEIPT: :ACH_DEBIT_RECEIPT - - def self?.values: -> ::Array[Lithic::Models::AuthRules::V2CreateParams::event_stream] - end end end end diff --git a/sig/lithic/models/auth_rules/v2_create_response.rbs b/sig/lithic/models/auth_rules/v2_create_response.rbs deleted file mode 100644 index 299e5ae6..00000000 --- a/sig/lithic/models/auth_rules/v2_create_response.rbs +++ /dev/null @@ -1,205 +0,0 @@ -module Lithic - module Models - module AuthRules - type v2_create_response = - { - token: String, - account_tokens: ::Array[String], - business_account_tokens: ::Array[String], - card_tokens: ::Array[String], - current_version: Lithic::Models::AuthRules::V2CreateResponse::CurrentVersion?, - draft_version: Lithic::Models::AuthRules::V2CreateResponse::DraftVersion?, - event_stream: Lithic::Models::AuthRules::V2CreateResponse::event_stream, - lithic_managed: bool, - name: String?, - program_level: bool, - state: Lithic::Models::AuthRules::V2CreateResponse::state, - type: Lithic::Models::AuthRules::V2CreateResponse::type_, - excluded_card_tokens: ::Array[String] - } - - class V2CreateResponse < Lithic::Internal::Type::BaseModel - attr_accessor token: String - - attr_accessor account_tokens: ::Array[String] - - attr_accessor business_account_tokens: ::Array[String] - - attr_accessor card_tokens: ::Array[String] - - attr_accessor current_version: Lithic::Models::AuthRules::V2CreateResponse::CurrentVersion? - - attr_accessor draft_version: Lithic::Models::AuthRules::V2CreateResponse::DraftVersion? - - attr_accessor event_stream: Lithic::Models::AuthRules::V2CreateResponse::event_stream - - attr_accessor lithic_managed: bool - - attr_accessor name: String? - - attr_accessor program_level: bool - - attr_accessor state: Lithic::Models::AuthRules::V2CreateResponse::state - - attr_accessor type: Lithic::Models::AuthRules::V2CreateResponse::type_ - - attr_reader excluded_card_tokens: ::Array[String]? - - def excluded_card_tokens=: (::Array[String]) -> ::Array[String] - - def initialize: ( - token: String, - account_tokens: ::Array[String], - business_account_tokens: ::Array[String], - card_tokens: ::Array[String], - current_version: Lithic::Models::AuthRules::V2CreateResponse::CurrentVersion?, - draft_version: Lithic::Models::AuthRules::V2CreateResponse::DraftVersion?, - event_stream: Lithic::Models::AuthRules::V2CreateResponse::event_stream, - lithic_managed: bool, - name: String?, - program_level: bool, - state: Lithic::Models::AuthRules::V2CreateResponse::state, - type: Lithic::Models::AuthRules::V2CreateResponse::type_, - ?excluded_card_tokens: ::Array[String] - ) -> void - - def to_hash: -> { - token: String, - account_tokens: ::Array[String], - business_account_tokens: ::Array[String], - card_tokens: ::Array[String], - current_version: Lithic::Models::AuthRules::V2CreateResponse::CurrentVersion?, - draft_version: Lithic::Models::AuthRules::V2CreateResponse::DraftVersion?, - event_stream: Lithic::Models::AuthRules::V2CreateResponse::event_stream, - lithic_managed: bool, - name: String?, - program_level: bool, - state: Lithic::Models::AuthRules::V2CreateResponse::state, - type: Lithic::Models::AuthRules::V2CreateResponse::type_, - excluded_card_tokens: ::Array[String] - } - - type current_version = - { - parameters: Lithic::Models::AuthRules::V2CreateResponse::CurrentVersion::parameters, - version: Integer - } - - class CurrentVersion < Lithic::Internal::Type::BaseModel - attr_accessor parameters: Lithic::Models::AuthRules::V2CreateResponse::CurrentVersion::parameters - - attr_accessor version: Integer - - def initialize: ( - parameters: Lithic::Models::AuthRules::V2CreateResponse::CurrentVersion::parameters, - version: Integer - ) -> void - - def to_hash: -> { - parameters: Lithic::Models::AuthRules::V2CreateResponse::CurrentVersion::parameters, - version: Integer - } - - type parameters = - Lithic::AuthRules::ConditionalBlockParameters - | Lithic::AuthRules::VelocityLimitParams - | Lithic::AuthRules::MerchantLockParameters - | Lithic::AuthRules::Conditional3DSActionParameters - | Lithic::AuthRules::ConditionalAuthorizationActionParameters - | Lithic::AuthRules::ConditionalACHActionParameters - | Lithic::AuthRules::ConditionalTokenizationActionParameters - - module Parameters - extend Lithic::Internal::Type::Union - - def self?.variants: -> ::Array[Lithic::Models::AuthRules::V2CreateResponse::CurrentVersion::parameters] - end - end - - type draft_version = - { - parameters: Lithic::Models::AuthRules::V2CreateResponse::DraftVersion::parameters, - version: Integer - } - - class DraftVersion < Lithic::Internal::Type::BaseModel - attr_accessor parameters: Lithic::Models::AuthRules::V2CreateResponse::DraftVersion::parameters - - attr_accessor version: Integer - - def initialize: ( - parameters: Lithic::Models::AuthRules::V2CreateResponse::DraftVersion::parameters, - version: Integer - ) -> void - - def to_hash: -> { - parameters: Lithic::Models::AuthRules::V2CreateResponse::DraftVersion::parameters, - version: Integer - } - - type parameters = - Lithic::AuthRules::ConditionalBlockParameters - | Lithic::AuthRules::VelocityLimitParams - | Lithic::AuthRules::MerchantLockParameters - | Lithic::AuthRules::Conditional3DSActionParameters - | Lithic::AuthRules::ConditionalAuthorizationActionParameters - | Lithic::AuthRules::ConditionalACHActionParameters - | Lithic::AuthRules::ConditionalTokenizationActionParameters - - module Parameters - extend Lithic::Internal::Type::Union - - def self?.variants: -> ::Array[Lithic::Models::AuthRules::V2CreateResponse::DraftVersion::parameters] - end - end - - type event_stream = - :AUTHORIZATION - | :THREE_DS_AUTHENTICATION - | :TOKENIZATION - | :ACH_CREDIT_RECEIPT - | :ACH_DEBIT_RECEIPT - - module EventStream - extend Lithic::Internal::Type::Enum - - AUTHORIZATION: :AUTHORIZATION - THREE_DS_AUTHENTICATION: :THREE_DS_AUTHENTICATION - TOKENIZATION: :TOKENIZATION - ACH_CREDIT_RECEIPT: :ACH_CREDIT_RECEIPT - ACH_DEBIT_RECEIPT: :ACH_DEBIT_RECEIPT - - def self?.values: -> ::Array[Lithic::Models::AuthRules::V2CreateResponse::event_stream] - end - - type state = :ACTIVE | :INACTIVE - - module State - extend Lithic::Internal::Type::Enum - - ACTIVE: :ACTIVE - INACTIVE: :INACTIVE - - def self?.values: -> ::Array[Lithic::Models::AuthRules::V2CreateResponse::state] - end - - type type_ = - :CONDITIONAL_BLOCK - | :VELOCITY_LIMIT - | :MERCHANT_LOCK - | :CONDITIONAL_ACTION - - module Type - extend Lithic::Internal::Type::Enum - - CONDITIONAL_BLOCK: :CONDITIONAL_BLOCK - VELOCITY_LIMIT: :VELOCITY_LIMIT - MERCHANT_LOCK: :MERCHANT_LOCK - CONDITIONAL_ACTION: :CONDITIONAL_ACTION - - def self?.values: -> ::Array[Lithic::Models::AuthRules::V2CreateResponse::type_] - end - end - end - end -end diff --git a/sig/lithic/models/auth_rules/v2_draft_response.rbs b/sig/lithic/models/auth_rules/v2_draft_response.rbs deleted file mode 100644 index 837cbf04..00000000 --- a/sig/lithic/models/auth_rules/v2_draft_response.rbs +++ /dev/null @@ -1,205 +0,0 @@ -module Lithic - module Models - module AuthRules - type v2_draft_response = - { - token: String, - account_tokens: ::Array[String], - business_account_tokens: ::Array[String], - card_tokens: ::Array[String], - current_version: Lithic::Models::AuthRules::V2DraftResponse::CurrentVersion?, - draft_version: Lithic::Models::AuthRules::V2DraftResponse::DraftVersion?, - event_stream: Lithic::Models::AuthRules::V2DraftResponse::event_stream, - lithic_managed: bool, - name: String?, - program_level: bool, - state: Lithic::Models::AuthRules::V2DraftResponse::state, - type: Lithic::Models::AuthRules::V2DraftResponse::type_, - excluded_card_tokens: ::Array[String] - } - - class V2DraftResponse < Lithic::Internal::Type::BaseModel - attr_accessor token: String - - attr_accessor account_tokens: ::Array[String] - - attr_accessor business_account_tokens: ::Array[String] - - attr_accessor card_tokens: ::Array[String] - - attr_accessor current_version: Lithic::Models::AuthRules::V2DraftResponse::CurrentVersion? - - attr_accessor draft_version: Lithic::Models::AuthRules::V2DraftResponse::DraftVersion? - - attr_accessor event_stream: Lithic::Models::AuthRules::V2DraftResponse::event_stream - - attr_accessor lithic_managed: bool - - attr_accessor name: String? - - attr_accessor program_level: bool - - attr_accessor state: Lithic::Models::AuthRules::V2DraftResponse::state - - attr_accessor type: Lithic::Models::AuthRules::V2DraftResponse::type_ - - attr_reader excluded_card_tokens: ::Array[String]? - - def excluded_card_tokens=: (::Array[String]) -> ::Array[String] - - def initialize: ( - token: String, - account_tokens: ::Array[String], - business_account_tokens: ::Array[String], - card_tokens: ::Array[String], - current_version: Lithic::Models::AuthRules::V2DraftResponse::CurrentVersion?, - draft_version: Lithic::Models::AuthRules::V2DraftResponse::DraftVersion?, - event_stream: Lithic::Models::AuthRules::V2DraftResponse::event_stream, - lithic_managed: bool, - name: String?, - program_level: bool, - state: Lithic::Models::AuthRules::V2DraftResponse::state, - type: Lithic::Models::AuthRules::V2DraftResponse::type_, - ?excluded_card_tokens: ::Array[String] - ) -> void - - def to_hash: -> { - token: String, - account_tokens: ::Array[String], - business_account_tokens: ::Array[String], - card_tokens: ::Array[String], - current_version: Lithic::Models::AuthRules::V2DraftResponse::CurrentVersion?, - draft_version: Lithic::Models::AuthRules::V2DraftResponse::DraftVersion?, - event_stream: Lithic::Models::AuthRules::V2DraftResponse::event_stream, - lithic_managed: bool, - name: String?, - program_level: bool, - state: Lithic::Models::AuthRules::V2DraftResponse::state, - type: Lithic::Models::AuthRules::V2DraftResponse::type_, - excluded_card_tokens: ::Array[String] - } - - type current_version = - { - parameters: Lithic::Models::AuthRules::V2DraftResponse::CurrentVersion::parameters, - version: Integer - } - - class CurrentVersion < Lithic::Internal::Type::BaseModel - attr_accessor parameters: Lithic::Models::AuthRules::V2DraftResponse::CurrentVersion::parameters - - attr_accessor version: Integer - - def initialize: ( - parameters: Lithic::Models::AuthRules::V2DraftResponse::CurrentVersion::parameters, - version: Integer - ) -> void - - def to_hash: -> { - parameters: Lithic::Models::AuthRules::V2DraftResponse::CurrentVersion::parameters, - version: Integer - } - - type parameters = - Lithic::AuthRules::ConditionalBlockParameters - | Lithic::AuthRules::VelocityLimitParams - | Lithic::AuthRules::MerchantLockParameters - | Lithic::AuthRules::Conditional3DSActionParameters - | Lithic::AuthRules::ConditionalAuthorizationActionParameters - | Lithic::AuthRules::ConditionalACHActionParameters - | Lithic::AuthRules::ConditionalTokenizationActionParameters - - module Parameters - extend Lithic::Internal::Type::Union - - def self?.variants: -> ::Array[Lithic::Models::AuthRules::V2DraftResponse::CurrentVersion::parameters] - end - end - - type draft_version = - { - parameters: Lithic::Models::AuthRules::V2DraftResponse::DraftVersion::parameters, - version: Integer - } - - class DraftVersion < Lithic::Internal::Type::BaseModel - attr_accessor parameters: Lithic::Models::AuthRules::V2DraftResponse::DraftVersion::parameters - - attr_accessor version: Integer - - def initialize: ( - parameters: Lithic::Models::AuthRules::V2DraftResponse::DraftVersion::parameters, - version: Integer - ) -> void - - def to_hash: -> { - parameters: Lithic::Models::AuthRules::V2DraftResponse::DraftVersion::parameters, - version: Integer - } - - type parameters = - Lithic::AuthRules::ConditionalBlockParameters - | Lithic::AuthRules::VelocityLimitParams - | Lithic::AuthRules::MerchantLockParameters - | Lithic::AuthRules::Conditional3DSActionParameters - | Lithic::AuthRules::ConditionalAuthorizationActionParameters - | Lithic::AuthRules::ConditionalACHActionParameters - | Lithic::AuthRules::ConditionalTokenizationActionParameters - - module Parameters - extend Lithic::Internal::Type::Union - - def self?.variants: -> ::Array[Lithic::Models::AuthRules::V2DraftResponse::DraftVersion::parameters] - end - end - - type event_stream = - :AUTHORIZATION - | :THREE_DS_AUTHENTICATION - | :TOKENIZATION - | :ACH_CREDIT_RECEIPT - | :ACH_DEBIT_RECEIPT - - module EventStream - extend Lithic::Internal::Type::Enum - - AUTHORIZATION: :AUTHORIZATION - THREE_DS_AUTHENTICATION: :THREE_DS_AUTHENTICATION - TOKENIZATION: :TOKENIZATION - ACH_CREDIT_RECEIPT: :ACH_CREDIT_RECEIPT - ACH_DEBIT_RECEIPT: :ACH_DEBIT_RECEIPT - - def self?.values: -> ::Array[Lithic::Models::AuthRules::V2DraftResponse::event_stream] - end - - type state = :ACTIVE | :INACTIVE - - module State - extend Lithic::Internal::Type::Enum - - ACTIVE: :ACTIVE - INACTIVE: :INACTIVE - - def self?.values: -> ::Array[Lithic::Models::AuthRules::V2DraftResponse::state] - end - - type type_ = - :CONDITIONAL_BLOCK - | :VELOCITY_LIMIT - | :MERCHANT_LOCK - | :CONDITIONAL_ACTION - - module Type - extend Lithic::Internal::Type::Enum - - CONDITIONAL_BLOCK: :CONDITIONAL_BLOCK - VELOCITY_LIMIT: :VELOCITY_LIMIT - MERCHANT_LOCK: :MERCHANT_LOCK - CONDITIONAL_ACTION: :CONDITIONAL_ACTION - - def self?.values: -> ::Array[Lithic::Models::AuthRules::V2DraftResponse::type_] - end - end - end - end -end diff --git a/sig/lithic/models/auth_rules/v2_list_params.rbs b/sig/lithic/models/auth_rules/v2_list_params.rbs index 96ae5cb2..26f5d807 100644 --- a/sig/lithic/models/auth_rules/v2_list_params.rbs +++ b/sig/lithic/models/auth_rules/v2_list_params.rbs @@ -7,7 +7,8 @@ module Lithic business_account_token: String, card_token: String, ending_before: String, - event_stream: Lithic::Models::AuthRules::V2ListParams::event_stream, + event_stream: Lithic::Models::AuthRules::event_stream, + event_streams: ::Array[Lithic::Models::AuthRules::event_stream], page_size: Integer, scope: Lithic::Models::AuthRules::V2ListParams::scope, starting_after: String @@ -34,11 +35,17 @@ module Lithic def ending_before=: (String) -> String - attr_reader event_stream: Lithic::Models::AuthRules::V2ListParams::event_stream? + attr_reader event_stream: Lithic::Models::AuthRules::event_stream? def event_stream=: ( - Lithic::Models::AuthRules::V2ListParams::event_stream - ) -> Lithic::Models::AuthRules::V2ListParams::event_stream + Lithic::Models::AuthRules::event_stream + ) -> Lithic::Models::AuthRules::event_stream + + attr_reader event_streams: ::Array[Lithic::Models::AuthRules::event_stream]? + + def event_streams=: ( + ::Array[Lithic::Models::AuthRules::event_stream] + ) -> ::Array[Lithic::Models::AuthRules::event_stream] attr_reader page_size: Integer? @@ -59,7 +66,8 @@ module Lithic ?business_account_token: String, ?card_token: String, ?ending_before: String, - ?event_stream: Lithic::Models::AuthRules::V2ListParams::event_stream, + ?event_stream: Lithic::Models::AuthRules::event_stream, + ?event_streams: ::Array[Lithic::Models::AuthRules::event_stream], ?page_size: Integer, ?scope: Lithic::Models::AuthRules::V2ListParams::scope, ?starting_after: String, @@ -71,32 +79,14 @@ module Lithic business_account_token: String, card_token: String, ending_before: String, - event_stream: Lithic::Models::AuthRules::V2ListParams::event_stream, + event_stream: Lithic::Models::AuthRules::event_stream, + event_streams: ::Array[Lithic::Models::AuthRules::event_stream], page_size: Integer, scope: Lithic::Models::AuthRules::V2ListParams::scope, starting_after: String, request_options: Lithic::RequestOptions } - type event_stream = - :AUTHORIZATION - | :THREE_DS_AUTHENTICATION - | :TOKENIZATION - | :ACH_CREDIT_RECEIPT - | :ACH_DEBIT_RECEIPT - - module EventStream - extend Lithic::Internal::Type::Enum - - AUTHORIZATION: :AUTHORIZATION - THREE_DS_AUTHENTICATION: :THREE_DS_AUTHENTICATION - TOKENIZATION: :TOKENIZATION - ACH_CREDIT_RECEIPT: :ACH_CREDIT_RECEIPT - ACH_DEBIT_RECEIPT: :ACH_DEBIT_RECEIPT - - def self?.values: -> ::Array[Lithic::Models::AuthRules::V2ListParams::event_stream] - end - type scope = :PROGRAM | :ACCOUNT | :BUSINESS_ACCOUNT | :CARD | :ANY module Scope diff --git a/sig/lithic/models/auth_rules/v2_list_response.rbs b/sig/lithic/models/auth_rules/v2_list_response.rbs deleted file mode 100644 index c88786c0..00000000 --- a/sig/lithic/models/auth_rules/v2_list_response.rbs +++ /dev/null @@ -1,205 +0,0 @@ -module Lithic - module Models - module AuthRules - type v2_list_response = - { - token: String, - account_tokens: ::Array[String], - business_account_tokens: ::Array[String], - card_tokens: ::Array[String], - current_version: Lithic::Models::AuthRules::V2ListResponse::CurrentVersion?, - draft_version: Lithic::Models::AuthRules::V2ListResponse::DraftVersion?, - event_stream: Lithic::Models::AuthRules::V2ListResponse::event_stream, - lithic_managed: bool, - name: String?, - program_level: bool, - state: Lithic::Models::AuthRules::V2ListResponse::state, - type: Lithic::Models::AuthRules::V2ListResponse::type_, - excluded_card_tokens: ::Array[String] - } - - class V2ListResponse < Lithic::Internal::Type::BaseModel - attr_accessor token: String - - attr_accessor account_tokens: ::Array[String] - - attr_accessor business_account_tokens: ::Array[String] - - attr_accessor card_tokens: ::Array[String] - - attr_accessor current_version: Lithic::Models::AuthRules::V2ListResponse::CurrentVersion? - - attr_accessor draft_version: Lithic::Models::AuthRules::V2ListResponse::DraftVersion? - - attr_accessor event_stream: Lithic::Models::AuthRules::V2ListResponse::event_stream - - attr_accessor lithic_managed: bool - - attr_accessor name: String? - - attr_accessor program_level: bool - - attr_accessor state: Lithic::Models::AuthRules::V2ListResponse::state - - attr_accessor type: Lithic::Models::AuthRules::V2ListResponse::type_ - - attr_reader excluded_card_tokens: ::Array[String]? - - def excluded_card_tokens=: (::Array[String]) -> ::Array[String] - - def initialize: ( - token: String, - account_tokens: ::Array[String], - business_account_tokens: ::Array[String], - card_tokens: ::Array[String], - current_version: Lithic::Models::AuthRules::V2ListResponse::CurrentVersion?, - draft_version: Lithic::Models::AuthRules::V2ListResponse::DraftVersion?, - event_stream: Lithic::Models::AuthRules::V2ListResponse::event_stream, - lithic_managed: bool, - name: String?, - program_level: bool, - state: Lithic::Models::AuthRules::V2ListResponse::state, - type: Lithic::Models::AuthRules::V2ListResponse::type_, - ?excluded_card_tokens: ::Array[String] - ) -> void - - def to_hash: -> { - token: String, - account_tokens: ::Array[String], - business_account_tokens: ::Array[String], - card_tokens: ::Array[String], - current_version: Lithic::Models::AuthRules::V2ListResponse::CurrentVersion?, - draft_version: Lithic::Models::AuthRules::V2ListResponse::DraftVersion?, - event_stream: Lithic::Models::AuthRules::V2ListResponse::event_stream, - lithic_managed: bool, - name: String?, - program_level: bool, - state: Lithic::Models::AuthRules::V2ListResponse::state, - type: Lithic::Models::AuthRules::V2ListResponse::type_, - excluded_card_tokens: ::Array[String] - } - - type current_version = - { - parameters: Lithic::Models::AuthRules::V2ListResponse::CurrentVersion::parameters, - version: Integer - } - - class CurrentVersion < Lithic::Internal::Type::BaseModel - attr_accessor parameters: Lithic::Models::AuthRules::V2ListResponse::CurrentVersion::parameters - - attr_accessor version: Integer - - def initialize: ( - parameters: Lithic::Models::AuthRules::V2ListResponse::CurrentVersion::parameters, - version: Integer - ) -> void - - def to_hash: -> { - parameters: Lithic::Models::AuthRules::V2ListResponse::CurrentVersion::parameters, - version: Integer - } - - type parameters = - Lithic::AuthRules::ConditionalBlockParameters - | Lithic::AuthRules::VelocityLimitParams - | Lithic::AuthRules::MerchantLockParameters - | Lithic::AuthRules::Conditional3DSActionParameters - | Lithic::AuthRules::ConditionalAuthorizationActionParameters - | Lithic::AuthRules::ConditionalACHActionParameters - | Lithic::AuthRules::ConditionalTokenizationActionParameters - - module Parameters - extend Lithic::Internal::Type::Union - - def self?.variants: -> ::Array[Lithic::Models::AuthRules::V2ListResponse::CurrentVersion::parameters] - end - end - - type draft_version = - { - parameters: Lithic::Models::AuthRules::V2ListResponse::DraftVersion::parameters, - version: Integer - } - - class DraftVersion < Lithic::Internal::Type::BaseModel - attr_accessor parameters: Lithic::Models::AuthRules::V2ListResponse::DraftVersion::parameters - - attr_accessor version: Integer - - def initialize: ( - parameters: Lithic::Models::AuthRules::V2ListResponse::DraftVersion::parameters, - version: Integer - ) -> void - - def to_hash: -> { - parameters: Lithic::Models::AuthRules::V2ListResponse::DraftVersion::parameters, - version: Integer - } - - type parameters = - Lithic::AuthRules::ConditionalBlockParameters - | Lithic::AuthRules::VelocityLimitParams - | Lithic::AuthRules::MerchantLockParameters - | Lithic::AuthRules::Conditional3DSActionParameters - | Lithic::AuthRules::ConditionalAuthorizationActionParameters - | Lithic::AuthRules::ConditionalACHActionParameters - | Lithic::AuthRules::ConditionalTokenizationActionParameters - - module Parameters - extend Lithic::Internal::Type::Union - - def self?.variants: -> ::Array[Lithic::Models::AuthRules::V2ListResponse::DraftVersion::parameters] - end - end - - type event_stream = - :AUTHORIZATION - | :THREE_DS_AUTHENTICATION - | :TOKENIZATION - | :ACH_CREDIT_RECEIPT - | :ACH_DEBIT_RECEIPT - - module EventStream - extend Lithic::Internal::Type::Enum - - AUTHORIZATION: :AUTHORIZATION - THREE_DS_AUTHENTICATION: :THREE_DS_AUTHENTICATION - TOKENIZATION: :TOKENIZATION - ACH_CREDIT_RECEIPT: :ACH_CREDIT_RECEIPT - ACH_DEBIT_RECEIPT: :ACH_DEBIT_RECEIPT - - def self?.values: -> ::Array[Lithic::Models::AuthRules::V2ListResponse::event_stream] - end - - type state = :ACTIVE | :INACTIVE - - module State - extend Lithic::Internal::Type::Enum - - ACTIVE: :ACTIVE - INACTIVE: :INACTIVE - - def self?.values: -> ::Array[Lithic::Models::AuthRules::V2ListResponse::state] - end - - type type_ = - :CONDITIONAL_BLOCK - | :VELOCITY_LIMIT - | :MERCHANT_LOCK - | :CONDITIONAL_ACTION - - module Type - extend Lithic::Internal::Type::Enum - - CONDITIONAL_BLOCK: :CONDITIONAL_BLOCK - VELOCITY_LIMIT: :VELOCITY_LIMIT - MERCHANT_LOCK: :MERCHANT_LOCK - CONDITIONAL_ACTION: :CONDITIONAL_ACTION - - def self?.values: -> ::Array[Lithic::Models::AuthRules::V2ListResponse::type_] - end - end - end - end -end diff --git a/sig/lithic/models/auth_rules/v2_promote_response.rbs b/sig/lithic/models/auth_rules/v2_promote_response.rbs deleted file mode 100644 index 897eae52..00000000 --- a/sig/lithic/models/auth_rules/v2_promote_response.rbs +++ /dev/null @@ -1,205 +0,0 @@ -module Lithic - module Models - module AuthRules - type v2_promote_response = - { - token: String, - account_tokens: ::Array[String], - business_account_tokens: ::Array[String], - card_tokens: ::Array[String], - current_version: Lithic::Models::AuthRules::V2PromoteResponse::CurrentVersion?, - draft_version: Lithic::Models::AuthRules::V2PromoteResponse::DraftVersion?, - event_stream: Lithic::Models::AuthRules::V2PromoteResponse::event_stream, - lithic_managed: bool, - name: String?, - program_level: bool, - state: Lithic::Models::AuthRules::V2PromoteResponse::state, - type: Lithic::Models::AuthRules::V2PromoteResponse::type_, - excluded_card_tokens: ::Array[String] - } - - class V2PromoteResponse < Lithic::Internal::Type::BaseModel - attr_accessor token: String - - attr_accessor account_tokens: ::Array[String] - - attr_accessor business_account_tokens: ::Array[String] - - attr_accessor card_tokens: ::Array[String] - - attr_accessor current_version: Lithic::Models::AuthRules::V2PromoteResponse::CurrentVersion? - - attr_accessor draft_version: Lithic::Models::AuthRules::V2PromoteResponse::DraftVersion? - - attr_accessor event_stream: Lithic::Models::AuthRules::V2PromoteResponse::event_stream - - attr_accessor lithic_managed: bool - - attr_accessor name: String? - - attr_accessor program_level: bool - - attr_accessor state: Lithic::Models::AuthRules::V2PromoteResponse::state - - attr_accessor type: Lithic::Models::AuthRules::V2PromoteResponse::type_ - - attr_reader excluded_card_tokens: ::Array[String]? - - def excluded_card_tokens=: (::Array[String]) -> ::Array[String] - - def initialize: ( - token: String, - account_tokens: ::Array[String], - business_account_tokens: ::Array[String], - card_tokens: ::Array[String], - current_version: Lithic::Models::AuthRules::V2PromoteResponse::CurrentVersion?, - draft_version: Lithic::Models::AuthRules::V2PromoteResponse::DraftVersion?, - event_stream: Lithic::Models::AuthRules::V2PromoteResponse::event_stream, - lithic_managed: bool, - name: String?, - program_level: bool, - state: Lithic::Models::AuthRules::V2PromoteResponse::state, - type: Lithic::Models::AuthRules::V2PromoteResponse::type_, - ?excluded_card_tokens: ::Array[String] - ) -> void - - def to_hash: -> { - token: String, - account_tokens: ::Array[String], - business_account_tokens: ::Array[String], - card_tokens: ::Array[String], - current_version: Lithic::Models::AuthRules::V2PromoteResponse::CurrentVersion?, - draft_version: Lithic::Models::AuthRules::V2PromoteResponse::DraftVersion?, - event_stream: Lithic::Models::AuthRules::V2PromoteResponse::event_stream, - lithic_managed: bool, - name: String?, - program_level: bool, - state: Lithic::Models::AuthRules::V2PromoteResponse::state, - type: Lithic::Models::AuthRules::V2PromoteResponse::type_, - excluded_card_tokens: ::Array[String] - } - - type current_version = - { - parameters: Lithic::Models::AuthRules::V2PromoteResponse::CurrentVersion::parameters, - version: Integer - } - - class CurrentVersion < Lithic::Internal::Type::BaseModel - attr_accessor parameters: Lithic::Models::AuthRules::V2PromoteResponse::CurrentVersion::parameters - - attr_accessor version: Integer - - def initialize: ( - parameters: Lithic::Models::AuthRules::V2PromoteResponse::CurrentVersion::parameters, - version: Integer - ) -> void - - def to_hash: -> { - parameters: Lithic::Models::AuthRules::V2PromoteResponse::CurrentVersion::parameters, - version: Integer - } - - type parameters = - Lithic::AuthRules::ConditionalBlockParameters - | Lithic::AuthRules::VelocityLimitParams - | Lithic::AuthRules::MerchantLockParameters - | Lithic::AuthRules::Conditional3DSActionParameters - | Lithic::AuthRules::ConditionalAuthorizationActionParameters - | Lithic::AuthRules::ConditionalACHActionParameters - | Lithic::AuthRules::ConditionalTokenizationActionParameters - - module Parameters - extend Lithic::Internal::Type::Union - - def self?.variants: -> ::Array[Lithic::Models::AuthRules::V2PromoteResponse::CurrentVersion::parameters] - end - end - - type draft_version = - { - parameters: Lithic::Models::AuthRules::V2PromoteResponse::DraftVersion::parameters, - version: Integer - } - - class DraftVersion < Lithic::Internal::Type::BaseModel - attr_accessor parameters: Lithic::Models::AuthRules::V2PromoteResponse::DraftVersion::parameters - - attr_accessor version: Integer - - def initialize: ( - parameters: Lithic::Models::AuthRules::V2PromoteResponse::DraftVersion::parameters, - version: Integer - ) -> void - - def to_hash: -> { - parameters: Lithic::Models::AuthRules::V2PromoteResponse::DraftVersion::parameters, - version: Integer - } - - type parameters = - Lithic::AuthRules::ConditionalBlockParameters - | Lithic::AuthRules::VelocityLimitParams - | Lithic::AuthRules::MerchantLockParameters - | Lithic::AuthRules::Conditional3DSActionParameters - | Lithic::AuthRules::ConditionalAuthorizationActionParameters - | Lithic::AuthRules::ConditionalACHActionParameters - | Lithic::AuthRules::ConditionalTokenizationActionParameters - - module Parameters - extend Lithic::Internal::Type::Union - - def self?.variants: -> ::Array[Lithic::Models::AuthRules::V2PromoteResponse::DraftVersion::parameters] - end - end - - type event_stream = - :AUTHORIZATION - | :THREE_DS_AUTHENTICATION - | :TOKENIZATION - | :ACH_CREDIT_RECEIPT - | :ACH_DEBIT_RECEIPT - - module EventStream - extend Lithic::Internal::Type::Enum - - AUTHORIZATION: :AUTHORIZATION - THREE_DS_AUTHENTICATION: :THREE_DS_AUTHENTICATION - TOKENIZATION: :TOKENIZATION - ACH_CREDIT_RECEIPT: :ACH_CREDIT_RECEIPT - ACH_DEBIT_RECEIPT: :ACH_DEBIT_RECEIPT - - def self?.values: -> ::Array[Lithic::Models::AuthRules::V2PromoteResponse::event_stream] - end - - type state = :ACTIVE | :INACTIVE - - module State - extend Lithic::Internal::Type::Enum - - ACTIVE: :ACTIVE - INACTIVE: :INACTIVE - - def self?.values: -> ::Array[Lithic::Models::AuthRules::V2PromoteResponse::state] - end - - type type_ = - :CONDITIONAL_BLOCK - | :VELOCITY_LIMIT - | :MERCHANT_LOCK - | :CONDITIONAL_ACTION - - module Type - extend Lithic::Internal::Type::Enum - - CONDITIONAL_BLOCK: :CONDITIONAL_BLOCK - VELOCITY_LIMIT: :VELOCITY_LIMIT - MERCHANT_LOCK: :MERCHANT_LOCK - CONDITIONAL_ACTION: :CONDITIONAL_ACTION - - def self?.values: -> ::Array[Lithic::Models::AuthRules::V2PromoteResponse::type_] - end - end - end - end -end diff --git a/sig/lithic/models/auth_rules/v2_retrieve_response.rbs b/sig/lithic/models/auth_rules/v2_retrieve_response.rbs deleted file mode 100644 index 91f58a93..00000000 --- a/sig/lithic/models/auth_rules/v2_retrieve_response.rbs +++ /dev/null @@ -1,205 +0,0 @@ -module Lithic - module Models - module AuthRules - type v2_retrieve_response = - { - token: String, - account_tokens: ::Array[String], - business_account_tokens: ::Array[String], - card_tokens: ::Array[String], - current_version: Lithic::Models::AuthRules::V2RetrieveResponse::CurrentVersion?, - draft_version: Lithic::Models::AuthRules::V2RetrieveResponse::DraftVersion?, - event_stream: Lithic::Models::AuthRules::V2RetrieveResponse::event_stream, - lithic_managed: bool, - name: String?, - program_level: bool, - state: Lithic::Models::AuthRules::V2RetrieveResponse::state, - type: Lithic::Models::AuthRules::V2RetrieveResponse::type_, - excluded_card_tokens: ::Array[String] - } - - class V2RetrieveResponse < Lithic::Internal::Type::BaseModel - attr_accessor token: String - - attr_accessor account_tokens: ::Array[String] - - attr_accessor business_account_tokens: ::Array[String] - - attr_accessor card_tokens: ::Array[String] - - attr_accessor current_version: Lithic::Models::AuthRules::V2RetrieveResponse::CurrentVersion? - - attr_accessor draft_version: Lithic::Models::AuthRules::V2RetrieveResponse::DraftVersion? - - attr_accessor event_stream: Lithic::Models::AuthRules::V2RetrieveResponse::event_stream - - attr_accessor lithic_managed: bool - - attr_accessor name: String? - - attr_accessor program_level: bool - - attr_accessor state: Lithic::Models::AuthRules::V2RetrieveResponse::state - - attr_accessor type: Lithic::Models::AuthRules::V2RetrieveResponse::type_ - - attr_reader excluded_card_tokens: ::Array[String]? - - def excluded_card_tokens=: (::Array[String]) -> ::Array[String] - - def initialize: ( - token: String, - account_tokens: ::Array[String], - business_account_tokens: ::Array[String], - card_tokens: ::Array[String], - current_version: Lithic::Models::AuthRules::V2RetrieveResponse::CurrentVersion?, - draft_version: Lithic::Models::AuthRules::V2RetrieveResponse::DraftVersion?, - event_stream: Lithic::Models::AuthRules::V2RetrieveResponse::event_stream, - lithic_managed: bool, - name: String?, - program_level: bool, - state: Lithic::Models::AuthRules::V2RetrieveResponse::state, - type: Lithic::Models::AuthRules::V2RetrieveResponse::type_, - ?excluded_card_tokens: ::Array[String] - ) -> void - - def to_hash: -> { - token: String, - account_tokens: ::Array[String], - business_account_tokens: ::Array[String], - card_tokens: ::Array[String], - current_version: Lithic::Models::AuthRules::V2RetrieveResponse::CurrentVersion?, - draft_version: Lithic::Models::AuthRules::V2RetrieveResponse::DraftVersion?, - event_stream: Lithic::Models::AuthRules::V2RetrieveResponse::event_stream, - lithic_managed: bool, - name: String?, - program_level: bool, - state: Lithic::Models::AuthRules::V2RetrieveResponse::state, - type: Lithic::Models::AuthRules::V2RetrieveResponse::type_, - excluded_card_tokens: ::Array[String] - } - - type current_version = - { - parameters: Lithic::Models::AuthRules::V2RetrieveResponse::CurrentVersion::parameters, - version: Integer - } - - class CurrentVersion < Lithic::Internal::Type::BaseModel - attr_accessor parameters: Lithic::Models::AuthRules::V2RetrieveResponse::CurrentVersion::parameters - - attr_accessor version: Integer - - def initialize: ( - parameters: Lithic::Models::AuthRules::V2RetrieveResponse::CurrentVersion::parameters, - version: Integer - ) -> void - - def to_hash: -> { - parameters: Lithic::Models::AuthRules::V2RetrieveResponse::CurrentVersion::parameters, - version: Integer - } - - type parameters = - Lithic::AuthRules::ConditionalBlockParameters - | Lithic::AuthRules::VelocityLimitParams - | Lithic::AuthRules::MerchantLockParameters - | Lithic::AuthRules::Conditional3DSActionParameters - | Lithic::AuthRules::ConditionalAuthorizationActionParameters - | Lithic::AuthRules::ConditionalACHActionParameters - | Lithic::AuthRules::ConditionalTokenizationActionParameters - - module Parameters - extend Lithic::Internal::Type::Union - - def self?.variants: -> ::Array[Lithic::Models::AuthRules::V2RetrieveResponse::CurrentVersion::parameters] - end - end - - type draft_version = - { - parameters: Lithic::Models::AuthRules::V2RetrieveResponse::DraftVersion::parameters, - version: Integer - } - - class DraftVersion < Lithic::Internal::Type::BaseModel - attr_accessor parameters: Lithic::Models::AuthRules::V2RetrieveResponse::DraftVersion::parameters - - attr_accessor version: Integer - - def initialize: ( - parameters: Lithic::Models::AuthRules::V2RetrieveResponse::DraftVersion::parameters, - version: Integer - ) -> void - - def to_hash: -> { - parameters: Lithic::Models::AuthRules::V2RetrieveResponse::DraftVersion::parameters, - version: Integer - } - - type parameters = - Lithic::AuthRules::ConditionalBlockParameters - | Lithic::AuthRules::VelocityLimitParams - | Lithic::AuthRules::MerchantLockParameters - | Lithic::AuthRules::Conditional3DSActionParameters - | Lithic::AuthRules::ConditionalAuthorizationActionParameters - | Lithic::AuthRules::ConditionalACHActionParameters - | Lithic::AuthRules::ConditionalTokenizationActionParameters - - module Parameters - extend Lithic::Internal::Type::Union - - def self?.variants: -> ::Array[Lithic::Models::AuthRules::V2RetrieveResponse::DraftVersion::parameters] - end - end - - type event_stream = - :AUTHORIZATION - | :THREE_DS_AUTHENTICATION - | :TOKENIZATION - | :ACH_CREDIT_RECEIPT - | :ACH_DEBIT_RECEIPT - - module EventStream - extend Lithic::Internal::Type::Enum - - AUTHORIZATION: :AUTHORIZATION - THREE_DS_AUTHENTICATION: :THREE_DS_AUTHENTICATION - TOKENIZATION: :TOKENIZATION - ACH_CREDIT_RECEIPT: :ACH_CREDIT_RECEIPT - ACH_DEBIT_RECEIPT: :ACH_DEBIT_RECEIPT - - def self?.values: -> ::Array[Lithic::Models::AuthRules::V2RetrieveResponse::event_stream] - end - - type state = :ACTIVE | :INACTIVE - - module State - extend Lithic::Internal::Type::Enum - - ACTIVE: :ACTIVE - INACTIVE: :INACTIVE - - def self?.values: -> ::Array[Lithic::Models::AuthRules::V2RetrieveResponse::state] - end - - type type_ = - :CONDITIONAL_BLOCK - | :VELOCITY_LIMIT - | :MERCHANT_LOCK - | :CONDITIONAL_ACTION - - module Type - extend Lithic::Internal::Type::Enum - - CONDITIONAL_BLOCK: :CONDITIONAL_BLOCK - VELOCITY_LIMIT: :VELOCITY_LIMIT - MERCHANT_LOCK: :MERCHANT_LOCK - CONDITIONAL_ACTION: :CONDITIONAL_ACTION - - def self?.values: -> ::Array[Lithic::Models::AuthRules::V2RetrieveResponse::type_] - end - end - end - end -end diff --git a/sig/lithic/models/auth_rules/v2_update_response.rbs b/sig/lithic/models/auth_rules/v2_update_response.rbs deleted file mode 100644 index 1a59f799..00000000 --- a/sig/lithic/models/auth_rules/v2_update_response.rbs +++ /dev/null @@ -1,205 +0,0 @@ -module Lithic - module Models - module AuthRules - type v2_update_response = - { - token: String, - account_tokens: ::Array[String], - business_account_tokens: ::Array[String], - card_tokens: ::Array[String], - current_version: Lithic::Models::AuthRules::V2UpdateResponse::CurrentVersion?, - draft_version: Lithic::Models::AuthRules::V2UpdateResponse::DraftVersion?, - event_stream: Lithic::Models::AuthRules::V2UpdateResponse::event_stream, - lithic_managed: bool, - name: String?, - program_level: bool, - state: Lithic::Models::AuthRules::V2UpdateResponse::state, - type: Lithic::Models::AuthRules::V2UpdateResponse::type_, - excluded_card_tokens: ::Array[String] - } - - class V2UpdateResponse < Lithic::Internal::Type::BaseModel - attr_accessor token: String - - attr_accessor account_tokens: ::Array[String] - - attr_accessor business_account_tokens: ::Array[String] - - attr_accessor card_tokens: ::Array[String] - - attr_accessor current_version: Lithic::Models::AuthRules::V2UpdateResponse::CurrentVersion? - - attr_accessor draft_version: Lithic::Models::AuthRules::V2UpdateResponse::DraftVersion? - - attr_accessor event_stream: Lithic::Models::AuthRules::V2UpdateResponse::event_stream - - attr_accessor lithic_managed: bool - - attr_accessor name: String? - - attr_accessor program_level: bool - - attr_accessor state: Lithic::Models::AuthRules::V2UpdateResponse::state - - attr_accessor type: Lithic::Models::AuthRules::V2UpdateResponse::type_ - - attr_reader excluded_card_tokens: ::Array[String]? - - def excluded_card_tokens=: (::Array[String]) -> ::Array[String] - - def initialize: ( - token: String, - account_tokens: ::Array[String], - business_account_tokens: ::Array[String], - card_tokens: ::Array[String], - current_version: Lithic::Models::AuthRules::V2UpdateResponse::CurrentVersion?, - draft_version: Lithic::Models::AuthRules::V2UpdateResponse::DraftVersion?, - event_stream: Lithic::Models::AuthRules::V2UpdateResponse::event_stream, - lithic_managed: bool, - name: String?, - program_level: bool, - state: Lithic::Models::AuthRules::V2UpdateResponse::state, - type: Lithic::Models::AuthRules::V2UpdateResponse::type_, - ?excluded_card_tokens: ::Array[String] - ) -> void - - def to_hash: -> { - token: String, - account_tokens: ::Array[String], - business_account_tokens: ::Array[String], - card_tokens: ::Array[String], - current_version: Lithic::Models::AuthRules::V2UpdateResponse::CurrentVersion?, - draft_version: Lithic::Models::AuthRules::V2UpdateResponse::DraftVersion?, - event_stream: Lithic::Models::AuthRules::V2UpdateResponse::event_stream, - lithic_managed: bool, - name: String?, - program_level: bool, - state: Lithic::Models::AuthRules::V2UpdateResponse::state, - type: Lithic::Models::AuthRules::V2UpdateResponse::type_, - excluded_card_tokens: ::Array[String] - } - - type current_version = - { - parameters: Lithic::Models::AuthRules::V2UpdateResponse::CurrentVersion::parameters, - version: Integer - } - - class CurrentVersion < Lithic::Internal::Type::BaseModel - attr_accessor parameters: Lithic::Models::AuthRules::V2UpdateResponse::CurrentVersion::parameters - - attr_accessor version: Integer - - def initialize: ( - parameters: Lithic::Models::AuthRules::V2UpdateResponse::CurrentVersion::parameters, - version: Integer - ) -> void - - def to_hash: -> { - parameters: Lithic::Models::AuthRules::V2UpdateResponse::CurrentVersion::parameters, - version: Integer - } - - type parameters = - Lithic::AuthRules::ConditionalBlockParameters - | Lithic::AuthRules::VelocityLimitParams - | Lithic::AuthRules::MerchantLockParameters - | Lithic::AuthRules::Conditional3DSActionParameters - | Lithic::AuthRules::ConditionalAuthorizationActionParameters - | Lithic::AuthRules::ConditionalACHActionParameters - | Lithic::AuthRules::ConditionalTokenizationActionParameters - - module Parameters - extend Lithic::Internal::Type::Union - - def self?.variants: -> ::Array[Lithic::Models::AuthRules::V2UpdateResponse::CurrentVersion::parameters] - end - end - - type draft_version = - { - parameters: Lithic::Models::AuthRules::V2UpdateResponse::DraftVersion::parameters, - version: Integer - } - - class DraftVersion < Lithic::Internal::Type::BaseModel - attr_accessor parameters: Lithic::Models::AuthRules::V2UpdateResponse::DraftVersion::parameters - - attr_accessor version: Integer - - def initialize: ( - parameters: Lithic::Models::AuthRules::V2UpdateResponse::DraftVersion::parameters, - version: Integer - ) -> void - - def to_hash: -> { - parameters: Lithic::Models::AuthRules::V2UpdateResponse::DraftVersion::parameters, - version: Integer - } - - type parameters = - Lithic::AuthRules::ConditionalBlockParameters - | Lithic::AuthRules::VelocityLimitParams - | Lithic::AuthRules::MerchantLockParameters - | Lithic::AuthRules::Conditional3DSActionParameters - | Lithic::AuthRules::ConditionalAuthorizationActionParameters - | Lithic::AuthRules::ConditionalACHActionParameters - | Lithic::AuthRules::ConditionalTokenizationActionParameters - - module Parameters - extend Lithic::Internal::Type::Union - - def self?.variants: -> ::Array[Lithic::Models::AuthRules::V2UpdateResponse::DraftVersion::parameters] - end - end - - type event_stream = - :AUTHORIZATION - | :THREE_DS_AUTHENTICATION - | :TOKENIZATION - | :ACH_CREDIT_RECEIPT - | :ACH_DEBIT_RECEIPT - - module EventStream - extend Lithic::Internal::Type::Enum - - AUTHORIZATION: :AUTHORIZATION - THREE_DS_AUTHENTICATION: :THREE_DS_AUTHENTICATION - TOKENIZATION: :TOKENIZATION - ACH_CREDIT_RECEIPT: :ACH_CREDIT_RECEIPT - ACH_DEBIT_RECEIPT: :ACH_DEBIT_RECEIPT - - def self?.values: -> ::Array[Lithic::Models::AuthRules::V2UpdateResponse::event_stream] - end - - type state = :ACTIVE | :INACTIVE - - module State - extend Lithic::Internal::Type::Enum - - ACTIVE: :ACTIVE - INACTIVE: :INACTIVE - - def self?.values: -> ::Array[Lithic::Models::AuthRules::V2UpdateResponse::state] - end - - type type_ = - :CONDITIONAL_BLOCK - | :VELOCITY_LIMIT - | :MERCHANT_LOCK - | :CONDITIONAL_ACTION - - module Type - extend Lithic::Internal::Type::Enum - - CONDITIONAL_BLOCK: :CONDITIONAL_BLOCK - VELOCITY_LIMIT: :VELOCITY_LIMIT - MERCHANT_LOCK: :MERCHANT_LOCK - CONDITIONAL_ACTION: :CONDITIONAL_ACTION - - def self?.values: -> ::Array[Lithic::Models::AuthRules::V2UpdateResponse::type_] - end - end - end - end -end diff --git a/sig/lithic/models/card_bulk_order.rbs b/sig/lithic/models/card_bulk_order.rbs new file mode 100644 index 00000000..86305d9a --- /dev/null +++ b/sig/lithic/models/card_bulk_order.rbs @@ -0,0 +1,76 @@ +module Lithic + module Models + type card_bulk_order = + { + token: String, + card_tokens: ::Array[String], + created: Time, + customer_product_id: String?, + shipping_address: top, + shipping_method: Lithic::Models::CardBulkOrder::shipping_method, + status: Lithic::Models::CardBulkOrder::status, + updated: Time + } + + class CardBulkOrder < Lithic::Internal::Type::BaseModel + attr_accessor token: String + + attr_accessor card_tokens: ::Array[String] + + attr_accessor created: Time + + attr_accessor customer_product_id: String? + + attr_accessor shipping_address: top + + attr_accessor shipping_method: Lithic::Models::CardBulkOrder::shipping_method + + attr_accessor status: Lithic::Models::CardBulkOrder::status + + attr_accessor updated: Time + + def initialize: ( + token: String, + card_tokens: ::Array[String], + created: Time, + customer_product_id: String?, + shipping_address: top, + shipping_method: Lithic::Models::CardBulkOrder::shipping_method, + status: Lithic::Models::CardBulkOrder::status, + updated: Time + ) -> void + + def to_hash: -> { + token: String, + card_tokens: ::Array[String], + created: Time, + customer_product_id: String?, + shipping_address: top, + shipping_method: Lithic::Models::CardBulkOrder::shipping_method, + status: Lithic::Models::CardBulkOrder::status, + updated: Time + } + + type shipping_method = :BULK_EXPEDITED + + module ShippingMethod + extend Lithic::Internal::Type::Enum + + BULK_EXPEDITED: :BULK_EXPEDITED + + def self?.values: -> ::Array[Lithic::Models::CardBulkOrder::shipping_method] + end + + type status = :OPEN | :LOCKED + + module Status + extend Lithic::Internal::Type::Enum + + OPEN: :OPEN + LOCKED: :LOCKED + + def self?.values: -> ::Array[Lithic::Models::CardBulkOrder::status] + end + end + end +end diff --git a/sig/lithic/models/card_bulk_order_create_params.rbs b/sig/lithic/models/card_bulk_order_create_params.rbs new file mode 100644 index 00000000..79d51424 --- /dev/null +++ b/sig/lithic/models/card_bulk_order_create_params.rbs @@ -0,0 +1,46 @@ +module Lithic + module Models + type card_bulk_order_create_params = + { + customer_product_id: String, + shipping_address: top, + shipping_method: Lithic::Models::CardBulkOrderCreateParams::shipping_method + } + & Lithic::Internal::Type::request_parameters + + class CardBulkOrderCreateParams < Lithic::Internal::Type::BaseModel + extend Lithic::Internal::Type::RequestParameters::Converter + include Lithic::Internal::Type::RequestParameters + + attr_accessor customer_product_id: String + + attr_accessor shipping_address: top + + attr_accessor shipping_method: Lithic::Models::CardBulkOrderCreateParams::shipping_method + + def initialize: ( + customer_product_id: String, + shipping_address: top, + shipping_method: Lithic::Models::CardBulkOrderCreateParams::shipping_method, + ?request_options: Lithic::request_opts + ) -> void + + def to_hash: -> { + customer_product_id: String, + shipping_address: top, + shipping_method: Lithic::Models::CardBulkOrderCreateParams::shipping_method, + request_options: Lithic::RequestOptions + } + + type shipping_method = :BULK_EXPEDITED + + module ShippingMethod + extend Lithic::Internal::Type::Enum + + BULK_EXPEDITED: :BULK_EXPEDITED + + def self?.values: -> ::Array[Lithic::Models::CardBulkOrderCreateParams::shipping_method] + end + end + end +end diff --git a/sig/lithic/models/card_bulk_order_list_params.rbs b/sig/lithic/models/card_bulk_order_list_params.rbs new file mode 100644 index 00000000..6f488fa4 --- /dev/null +++ b/sig/lithic/models/card_bulk_order_list_params.rbs @@ -0,0 +1,56 @@ +module Lithic + module Models + type card_bulk_order_list_params = + { + begin_: Time, + end_: Time, + ending_before: String, + page_size: Integer, + starting_after: String + } + & Lithic::Internal::Type::request_parameters + + class CardBulkOrderListParams < Lithic::Internal::Type::BaseModel + extend Lithic::Internal::Type::RequestParameters::Converter + include Lithic::Internal::Type::RequestParameters + + attr_reader begin_: Time? + + def begin_=: (Time) -> Time + + attr_reader end_: Time? + + def end_=: (Time) -> Time + + attr_reader ending_before: String? + + def ending_before=: (String) -> String + + attr_reader page_size: Integer? + + def page_size=: (Integer) -> Integer + + attr_reader starting_after: String? + + def starting_after=: (String) -> String + + def initialize: ( + ?begin_: Time, + ?end_: Time, + ?ending_before: String, + ?page_size: Integer, + ?starting_after: String, + ?request_options: Lithic::request_opts + ) -> void + + def to_hash: -> { + begin_: Time, + end_: Time, + ending_before: String, + page_size: Integer, + starting_after: String, + request_options: Lithic::RequestOptions + } + end + end +end diff --git a/sig/lithic/models/card_bulk_order_retrieve_params.rbs b/sig/lithic/models/card_bulk_order_retrieve_params.rbs new file mode 100644 index 00000000..b087d870 --- /dev/null +++ b/sig/lithic/models/card_bulk_order_retrieve_params.rbs @@ -0,0 +1,15 @@ +module Lithic + module Models + type card_bulk_order_retrieve_params = + { } & Lithic::Internal::Type::request_parameters + + class CardBulkOrderRetrieveParams < 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/card_bulk_order_update_params.rbs b/sig/lithic/models/card_bulk_order_update_params.rbs new file mode 100644 index 00000000..92f9d6e4 --- /dev/null +++ b/sig/lithic/models/card_bulk_order_update_params.rbs @@ -0,0 +1,34 @@ +module Lithic + module Models + type card_bulk_order_update_params = + { status: Lithic::Models::CardBulkOrderUpdateParams::status } + & Lithic::Internal::Type::request_parameters + + class CardBulkOrderUpdateParams < Lithic::Internal::Type::BaseModel + extend Lithic::Internal::Type::RequestParameters::Converter + include Lithic::Internal::Type::RequestParameters + + attr_accessor status: Lithic::Models::CardBulkOrderUpdateParams::status + + def initialize: ( + status: Lithic::Models::CardBulkOrderUpdateParams::status, + ?request_options: Lithic::request_opts + ) -> void + + def to_hash: -> { + status: Lithic::Models::CardBulkOrderUpdateParams::status, + request_options: Lithic::RequestOptions + } + + type status = :LOCKED + + module Status + extend Lithic::Internal::Type::Enum + + LOCKED: :LOCKED + + def self?.values: -> ::Array[Lithic::Models::CardBulkOrderUpdateParams::status] + end + end + end +end diff --git a/sig/lithic/models/card_convert_physical_params.rbs b/sig/lithic/models/card_convert_physical_params.rbs index 25554eaa..4a90698b 100644 --- a/sig/lithic/models/card_convert_physical_params.rbs +++ b/sig/lithic/models/card_convert_physical_params.rbs @@ -47,6 +47,7 @@ module Lithic type shipping_method = :"2_DAY" + | :BULK_EXPEDITED | :EXPEDITED | :EXPRESS | :PRIORITY @@ -57,6 +58,7 @@ module Lithic extend Lithic::Internal::Type::Enum SHIPPING_METHOD_2_DAY: :"2_DAY" + BULK_EXPEDITED: :BULK_EXPEDITED EXPEDITED: :EXPEDITED EXPRESS: :EXPRESS PRIORITY: :PRIORITY diff --git a/sig/lithic/models/card_create_params.rbs b/sig/lithic/models/card_create_params.rbs index 27478c44..edc57451 100644 --- a/sig/lithic/models/card_create_params.rbs +++ b/sig/lithic/models/card_create_params.rbs @@ -4,6 +4,7 @@ module Lithic { type: Lithic::Models::CardCreateParams::type_, account_token: String, + bulk_order_token: String, card_program_token: String, carrier: Lithic::Carrier, digital_card_art_token: String, @@ -34,6 +35,10 @@ module Lithic def account_token=: (String) -> String + attr_reader bulk_order_token: String? + + def bulk_order_token=: (String) -> String + attr_reader card_program_token: String? def card_program_token=: (String) -> String @@ -115,6 +120,7 @@ module Lithic def initialize: ( type: Lithic::Models::CardCreateParams::type_, ?account_token: String, + ?bulk_order_token: String, ?card_program_token: String, ?carrier: Lithic::Carrier, ?digital_card_art_token: String, @@ -138,6 +144,7 @@ module Lithic def to_hash: -> { type: Lithic::Models::CardCreateParams::type_, account_token: String, + bulk_order_token: String, card_program_token: String, carrier: Lithic::Carrier, digital_card_art_token: String, @@ -212,6 +219,7 @@ module Lithic type shipping_method = :"2_DAY" + | :BULK_EXPEDITED | :EXPEDITED | :EXPRESS | :PRIORITY @@ -222,6 +230,7 @@ module Lithic extend Lithic::Internal::Type::Enum SHIPPING_METHOD_2_DAY: :"2_DAY" + BULK_EXPEDITED: :BULK_EXPEDITED EXPEDITED: :EXPEDITED EXPRESS: :EXPRESS PRIORITY: :PRIORITY diff --git a/sig/lithic/models/card_program.rbs b/sig/lithic/models/card_program.rbs index 7b71b045..a61ba1e3 100644 --- a/sig/lithic/models/card_program.rbs +++ b/sig/lithic/models/card_program.rbs @@ -3,11 +3,11 @@ module Lithic type card_program = { token: String, + account_level_management_enabled: bool, created: Time, name: String, pan_range_end: String, pan_range_start: String, - account_level_management_enabled: bool, cardholder_currency: String, settlement_currencies: ::Array[String] } @@ -15,6 +15,8 @@ module Lithic class CardProgram < Lithic::Internal::Type::BaseModel attr_accessor token: String + attr_accessor account_level_management_enabled: bool + attr_accessor created: Time attr_accessor name: String @@ -23,10 +25,6 @@ module Lithic attr_accessor pan_range_start: String - attr_reader account_level_management_enabled: bool? - - def account_level_management_enabled=: (bool) -> bool - attr_reader cardholder_currency: String? def cardholder_currency=: (String) -> String @@ -37,22 +35,22 @@ module Lithic def initialize: ( token: String, + account_level_management_enabled: bool, created: Time, name: String, pan_range_end: String, pan_range_start: String, - ?account_level_management_enabled: bool, ?cardholder_currency: String, ?settlement_currencies: ::Array[String] ) -> void def to_hash: -> { token: String, + account_level_management_enabled: bool, created: Time, name: String, pan_range_end: String, pan_range_start: String, - account_level_management_enabled: bool, cardholder_currency: String, settlement_currencies: ::Array[String] } diff --git a/sig/lithic/models/card_reissue_params.rbs b/sig/lithic/models/card_reissue_params.rbs index caea1eef..38fce05e 100644 --- a/sig/lithic/models/card_reissue_params.rbs +++ b/sig/lithic/models/card_reissue_params.rbs @@ -51,6 +51,7 @@ module Lithic type shipping_method = :"2_DAY" + | :BULK_EXPEDITED | :EXPEDITED | :EXPRESS | :PRIORITY @@ -61,6 +62,7 @@ module Lithic extend Lithic::Internal::Type::Enum SHIPPING_METHOD_2_DAY: :"2_DAY" + BULK_EXPEDITED: :BULK_EXPEDITED EXPEDITED: :EXPEDITED EXPRESS: :EXPRESS PRIORITY: :PRIORITY diff --git a/sig/lithic/models/card_renew_params.rbs b/sig/lithic/models/card_renew_params.rbs index 11687ff4..7b7bd20d 100644 --- a/sig/lithic/models/card_renew_params.rbs +++ b/sig/lithic/models/card_renew_params.rbs @@ -61,6 +61,7 @@ module Lithic type shipping_method = :"2_DAY" + | :BULK_EXPEDITED | :EXPEDITED | :EXPRESS | :PRIORITY @@ -71,6 +72,7 @@ module Lithic extend Lithic::Internal::Type::Enum SHIPPING_METHOD_2_DAY: :"2_DAY" + BULK_EXPEDITED: :BULK_EXPEDITED EXPEDITED: :EXPEDITED EXPRESS: :EXPRESS PRIORITY: :PRIORITY diff --git a/sig/lithic/models/card_web_provision_params.rbs b/sig/lithic/models/card_web_provision_params.rbs index ab1fc874..406363c0 100644 --- a/sig/lithic/models/card_web_provision_params.rbs +++ b/sig/lithic/models/card_web_provision_params.rbs @@ -1,35 +1,59 @@ module Lithic module Models type card_web_provision_params = - { digital_wallet: Lithic::Models::CardWebProvisionParams::digital_wallet } + { + client_device_id: String, + client_wallet_account_id: String, + digital_wallet: Lithic::Models::CardWebProvisionParams::digital_wallet, + server_session_id: String + } & Lithic::Internal::Type::request_parameters class CardWebProvisionParams < Lithic::Internal::Type::BaseModel extend Lithic::Internal::Type::RequestParameters::Converter include Lithic::Internal::Type::RequestParameters + attr_reader client_device_id: String? + + def client_device_id=: (String) -> String + + attr_reader client_wallet_account_id: String? + + def client_wallet_account_id=: (String) -> String + attr_reader digital_wallet: Lithic::Models::CardWebProvisionParams::digital_wallet? def digital_wallet=: ( Lithic::Models::CardWebProvisionParams::digital_wallet ) -> Lithic::Models::CardWebProvisionParams::digital_wallet + attr_reader server_session_id: String? + + def server_session_id=: (String) -> String + def initialize: ( + ?client_device_id: String, + ?client_wallet_account_id: String, ?digital_wallet: Lithic::Models::CardWebProvisionParams::digital_wallet, + ?server_session_id: String, ?request_options: Lithic::request_opts ) -> void def to_hash: -> { + client_device_id: String, + client_wallet_account_id: String, digital_wallet: Lithic::Models::CardWebProvisionParams::digital_wallet, + server_session_id: String, request_options: Lithic::RequestOptions } - type digital_wallet = :APPLE_PAY + type digital_wallet = :APPLE_PAY | :GOOGLE_PAY module DigitalWallet extend Lithic::Internal::Type::Enum APPLE_PAY: :APPLE_PAY + GOOGLE_PAY: :GOOGLE_PAY def self?.values: -> ::Array[Lithic::Models::CardWebProvisionParams::digital_wallet] end diff --git a/sig/lithic/models/card_web_provision_response.rbs b/sig/lithic/models/card_web_provision_response.rbs index 707d4471..59537141 100644 --- a/sig/lithic/models/card_web_provision_response.rbs +++ b/sig/lithic/models/card_web_provision_response.rbs @@ -1,82 +1,112 @@ module Lithic module Models type card_web_provision_response = - { jws: Lithic::Models::CardWebProvisionResponse::Jws, state: String } + Lithic::Models::CardWebProvisionResponse::AppleWebPushProvisioningResponse + | Lithic::Models::CardWebProvisionResponse::GoogleWebPushProvisioningResponse - class CardWebProvisionResponse < Lithic::Internal::Type::BaseModel - attr_reader jws: Lithic::Models::CardWebProvisionResponse::Jws? + module CardWebProvisionResponse + extend Lithic::Internal::Type::Union - def jws=: ( - Lithic::Models::CardWebProvisionResponse::Jws - ) -> Lithic::Models::CardWebProvisionResponse::Jws + type apple_web_push_provisioning_response = + { + jws: Lithic::Models::CardWebProvisionResponse::AppleWebPushProvisioningResponse::Jws, + state: String + } - attr_reader state: String? + class AppleWebPushProvisioningResponse < Lithic::Internal::Type::BaseModel + attr_reader jws: Lithic::Models::CardWebProvisionResponse::AppleWebPushProvisioningResponse::Jws? - def state=: (String) -> String + def jws=: ( + Lithic::Models::CardWebProvisionResponse::AppleWebPushProvisioningResponse::Jws + ) -> Lithic::Models::CardWebProvisionResponse::AppleWebPushProvisioningResponse::Jws - def initialize: ( - ?jws: Lithic::Models::CardWebProvisionResponse::Jws, - ?state: String - ) -> void + attr_reader state: String? - def to_hash: -> { - jws: Lithic::Models::CardWebProvisionResponse::Jws, - state: String - } + def state=: (String) -> String - type jws = - { - header: Lithic::Models::CardWebProvisionResponse::Jws::Header, - payload: String, - protected: String, - signature: String + def initialize: ( + ?jws: Lithic::Models::CardWebProvisionResponse::AppleWebPushProvisioningResponse::Jws, + ?state: String + ) -> void + + def to_hash: -> { + jws: Lithic::Models::CardWebProvisionResponse::AppleWebPushProvisioningResponse::Jws, + state: String } - class Jws < Lithic::Internal::Type::BaseModel - attr_reader header: Lithic::Models::CardWebProvisionResponse::Jws::Header? + type jws = + { + header: Lithic::Models::CardWebProvisionResponse::AppleWebPushProvisioningResponse::Jws::Header, + payload: String, + protected: String, + signature: String + } - def header=: ( - Lithic::Models::CardWebProvisionResponse::Jws::Header - ) -> Lithic::Models::CardWebProvisionResponse::Jws::Header + class Jws < Lithic::Internal::Type::BaseModel + attr_reader header: Lithic::Models::CardWebProvisionResponse::AppleWebPushProvisioningResponse::Jws::Header? - attr_reader payload: String? + def header=: ( + Lithic::Models::CardWebProvisionResponse::AppleWebPushProvisioningResponse::Jws::Header + ) -> Lithic::Models::CardWebProvisionResponse::AppleWebPushProvisioningResponse::Jws::Header - def payload=: (String) -> String + attr_reader payload: String? - attr_reader protected: String? + def payload=: (String) -> String - def protected=: (String) -> String + attr_reader protected: String? - attr_reader signature: String? + def protected=: (String) -> String - def signature=: (String) -> String + attr_reader signature: String? - def initialize: ( - ?header: Lithic::Models::CardWebProvisionResponse::Jws::Header, - ?payload: String, - ?protected: String, - ?signature: String - ) -> void + def signature=: (String) -> String - def to_hash: -> { - header: Lithic::Models::CardWebProvisionResponse::Jws::Header, - payload: String, - protected: String, - signature: String - } + def initialize: ( + ?header: Lithic::Models::CardWebProvisionResponse::AppleWebPushProvisioningResponse::Jws::Header, + ?payload: String, + ?protected: String, + ?signature: String + ) -> void - type header = { kid: String } + def to_hash: -> { + header: Lithic::Models::CardWebProvisionResponse::AppleWebPushProvisioningResponse::Jws::Header, + payload: String, + protected: String, + signature: String + } - class Header < Lithic::Internal::Type::BaseModel - attr_reader kid: String? + type header = { kid: String } - def kid=: (String) -> String + class Header < Lithic::Internal::Type::BaseModel + attr_reader kid: String? - def initialize: (?kid: String) -> void + def kid=: (String) -> String - def to_hash: -> { kid: String } + def initialize: (?kid: String) -> void + + def to_hash: -> { kid: String } + end end end + + type google_web_push_provisioning_response = + { google_opc: String, tsp_opc: String } + + class GoogleWebPushProvisioningResponse < Lithic::Internal::Type::BaseModel + attr_reader google_opc: String? + + def google_opc=: (String) -> String + + attr_reader tsp_opc: String? + + def tsp_opc=: (String) -> String + + def initialize: (?google_opc: String, ?tsp_opc: String) -> void + + def to_hash: -> { google_opc: String, tsp_opc: String } + end + + def self?.variants: -> ::Array[Lithic::Models::card_web_provision_response] end end end diff --git a/sig/lithic/models/cardholder_authentication.rbs b/sig/lithic/models/cardholder_authentication.rbs new file mode 100644 index 00000000..062f4c47 --- /dev/null +++ b/sig/lithic/models/cardholder_authentication.rbs @@ -0,0 +1,98 @@ +module Lithic + module Models + type cardholder_authentication = + { + authentication_method: Lithic::Models::CardholderAuthentication::authentication_method, + authentication_result: Lithic::Models::CardholderAuthentication::authentication_result, + decision_made_by: Lithic::Models::CardholderAuthentication::decision_made_by, + liability_shift: Lithic::Models::CardholderAuthentication::liability_shift, + three_ds_authentication_token: String? + } + + class CardholderAuthentication < Lithic::Internal::Type::BaseModel + attr_accessor authentication_method: Lithic::Models::CardholderAuthentication::authentication_method + + attr_accessor authentication_result: Lithic::Models::CardholderAuthentication::authentication_result + + attr_accessor decision_made_by: Lithic::Models::CardholderAuthentication::decision_made_by + + attr_accessor liability_shift: Lithic::Models::CardholderAuthentication::liability_shift + + attr_accessor three_ds_authentication_token: String? + + def initialize: ( + authentication_method: Lithic::Models::CardholderAuthentication::authentication_method, + authentication_result: Lithic::Models::CardholderAuthentication::authentication_result, + decision_made_by: Lithic::Models::CardholderAuthentication::decision_made_by, + liability_shift: Lithic::Models::CardholderAuthentication::liability_shift, + three_ds_authentication_token: String? + ) -> void + + def to_hash: -> { + authentication_method: Lithic::Models::CardholderAuthentication::authentication_method, + authentication_result: Lithic::Models::CardholderAuthentication::authentication_result, + decision_made_by: Lithic::Models::CardholderAuthentication::decision_made_by, + liability_shift: Lithic::Models::CardholderAuthentication::liability_shift, + three_ds_authentication_token: String? + } + + type authentication_method = :FRICTIONLESS | :CHALLENGE | :NONE + + module AuthenticationMethod + extend Lithic::Internal::Type::Enum + + FRICTIONLESS: :FRICTIONLESS + CHALLENGE: :CHALLENGE + NONE: :NONE + + def self?.values: -> ::Array[Lithic::Models::CardholderAuthentication::authentication_method] + end + + type authentication_result = :ATTEMPTS | :DECLINE | :NONE | :SUCCESS + + module AuthenticationResult + extend Lithic::Internal::Type::Enum + + ATTEMPTS: :ATTEMPTS + DECLINE: :DECLINE + NONE: :NONE + SUCCESS: :SUCCESS + + def self?.values: -> ::Array[Lithic::Models::CardholderAuthentication::authentication_result] + end + + type decision_made_by = + :CUSTOMER_RULES + | :CUSTOMER_ENDPOINT + | :LITHIC_DEFAULT + | :LITHIC_RULES + | :NETWORK + | :UNKNOWN + + module DecisionMadeBy + extend Lithic::Internal::Type::Enum + + CUSTOMER_RULES: :CUSTOMER_RULES + CUSTOMER_ENDPOINT: :CUSTOMER_ENDPOINT + LITHIC_DEFAULT: :LITHIC_DEFAULT + LITHIC_RULES: :LITHIC_RULES + NETWORK: :NETWORK + UNKNOWN: :UNKNOWN + + def self?.values: -> ::Array[Lithic::Models::CardholderAuthentication::decision_made_by] + end + + type liability_shift = :"3DS_AUTHENTICATED" | :TOKEN_AUTHENTICATED | :NONE + + module LiabilityShift + extend Lithic::Internal::Type::Enum + + LIABILITY_SHIFT_3DS_AUTHENTICATED: :"3DS_AUTHENTICATED" + TOKEN_AUTHENTICATED: :TOKEN_AUTHENTICATED + NONE: :NONE + + def self?.values: -> ::Array[Lithic::Models::CardholderAuthentication::liability_shift] + end + end + end +end diff --git a/sig/lithic/models/cards/balance_list_response.rbs b/sig/lithic/models/cards/balance_list_response.rbs deleted file mode 100644 index 458ee4e2..00000000 --- a/sig/lithic/models/cards/balance_list_response.rbs +++ /dev/null @@ -1,80 +0,0 @@ -module Lithic - module Models - module Cards - type balance_list_response = - { - token: String, - available_amount: Integer, - created: Time, - currency: String, - last_transaction_event_token: String, - last_transaction_token: String, - pending_amount: Integer, - total_amount: Integer, - type: Lithic::Models::Cards::BalanceListResponse::type_, - updated: Time - } - - class BalanceListResponse < Lithic::Internal::Type::BaseModel - attr_accessor token: String - - attr_accessor available_amount: Integer - - attr_accessor created: Time - - attr_accessor currency: String - - attr_accessor last_transaction_event_token: String - - attr_accessor last_transaction_token: String - - attr_accessor pending_amount: Integer - - attr_accessor total_amount: Integer - - attr_accessor type: Lithic::Models::Cards::BalanceListResponse::type_ - - attr_accessor updated: Time - - def initialize: ( - token: String, - available_amount: Integer, - created: Time, - currency: String, - last_transaction_event_token: String, - last_transaction_token: String, - pending_amount: Integer, - total_amount: Integer, - type: Lithic::Models::Cards::BalanceListResponse::type_, - updated: Time - ) -> void - - def to_hash: -> { - token: String, - available_amount: Integer, - created: Time, - currency: String, - last_transaction_event_token: String, - last_transaction_token: String, - pending_amount: Integer, - total_amount: Integer, - type: Lithic::Models::Cards::BalanceListResponse::type_, - updated: Time - } - - type type_ = :ISSUING | :OPERATING | :RESERVE | :SECURITY - - module Type - extend Lithic::Internal::Type::Enum - - ISSUING: :ISSUING - OPERATING: :OPERATING - RESERVE: :RESERVE - SECURITY: :SECURITY - - def self?.values: -> ::Array[Lithic::Models::Cards::BalanceListResponse::type_] - end - end - end - end -end diff --git a/sig/lithic/models/device.rbs b/sig/lithic/models/device.rbs new file mode 100644 index 00000000..5ae2b6b8 --- /dev/null +++ b/sig/lithic/models/device.rbs @@ -0,0 +1,21 @@ +module Lithic + module Models + type device = { imei: String?, ip_address: String?, location: String? } + + class Device < Lithic::Internal::Type::BaseModel + attr_accessor imei: String? + + attr_accessor ip_address: String? + + attr_accessor location: String? + + def initialize: ( + imei: String?, + ip_address: String?, + location: String? + ) -> void + + def to_hash: -> { imei: String?, ip_address: String?, location: String? } + end + end +end diff --git a/sig/lithic/models/digital_wallet_token_metadata.rbs b/sig/lithic/models/digital_wallet_token_metadata.rbs new file mode 100644 index 00000000..93f46c2d --- /dev/null +++ b/sig/lithic/models/digital_wallet_token_metadata.rbs @@ -0,0 +1,119 @@ +module Lithic + module Models + type digital_wallet_token_metadata = + { + payment_account_info: Lithic::DigitalWalletTokenMetadata::PaymentAccountInfo, + status: String, + payment_app_instance_id: String?, + token_requestor_id: String, + token_requestor_name: Lithic::Models::DigitalWalletTokenMetadata::token_requestor_name + } + + class DigitalWalletTokenMetadata < Lithic::Internal::Type::BaseModel + attr_accessor payment_account_info: Lithic::DigitalWalletTokenMetadata::PaymentAccountInfo + + attr_accessor status: String + + attr_accessor payment_app_instance_id: String? + + attr_reader token_requestor_id: String? + + def token_requestor_id=: (String) -> String + + attr_reader token_requestor_name: Lithic::Models::DigitalWalletTokenMetadata::token_requestor_name? + + def token_requestor_name=: ( + Lithic::Models::DigitalWalletTokenMetadata::token_requestor_name + ) -> Lithic::Models::DigitalWalletTokenMetadata::token_requestor_name + + def initialize: ( + payment_account_info: Lithic::DigitalWalletTokenMetadata::PaymentAccountInfo, + status: String, + ?payment_app_instance_id: String?, + ?token_requestor_id: String, + ?token_requestor_name: Lithic::Models::DigitalWalletTokenMetadata::token_requestor_name + ) -> void + + def to_hash: -> { + payment_account_info: Lithic::DigitalWalletTokenMetadata::PaymentAccountInfo, + status: String, + payment_app_instance_id: String?, + token_requestor_id: String, + token_requestor_name: Lithic::Models::DigitalWalletTokenMetadata::token_requestor_name + } + + type payment_account_info = + { + account_holder_data: Lithic::DigitalWalletTokenMetadata::PaymentAccountInfo::AccountHolderData, + pan_unique_reference: String?, + payment_account_reference: String?, + token_unique_reference: String? + } + + class PaymentAccountInfo < Lithic::Internal::Type::BaseModel + attr_accessor account_holder_data: Lithic::DigitalWalletTokenMetadata::PaymentAccountInfo::AccountHolderData + + attr_accessor pan_unique_reference: String? + + attr_accessor payment_account_reference: String? + + attr_accessor token_unique_reference: String? + + def initialize: ( + account_holder_data: Lithic::DigitalWalletTokenMetadata::PaymentAccountInfo::AccountHolderData, + ?pan_unique_reference: String?, + ?payment_account_reference: String?, + ?token_unique_reference: String? + ) -> void + + def to_hash: -> { + account_holder_data: Lithic::DigitalWalletTokenMetadata::PaymentAccountInfo::AccountHolderData, + pan_unique_reference: String?, + payment_account_reference: String?, + token_unique_reference: String? + } + + type account_holder_data = { phone_number: String? } + + class AccountHolderData < Lithic::Internal::Type::BaseModel + attr_accessor phone_number: String? + + def initialize: (?phone_number: String?) -> void + + def to_hash: -> { phone_number: String? } + end + end + + type token_requestor_name = + :AMAZON_ONE + | :ANDROID_PAY + | :APPLE_PAY + | :FACEBOOK + | :FITBIT_PAY + | :GARMIN_PAY + | :MICROSOFT_PAY + | :NETFLIX + | :SAMSUNG_PAY + | :UNKNOWN + | :VISA_CHECKOUT + + module TokenRequestorName + extend Lithic::Internal::Type::Enum + + AMAZON_ONE: :AMAZON_ONE + ANDROID_PAY: :ANDROID_PAY + APPLE_PAY: :APPLE_PAY + FACEBOOK: :FACEBOOK + FITBIT_PAY: :FITBIT_PAY + GARMIN_PAY: :GARMIN_PAY + MICROSOFT_PAY: :MICROSOFT_PAY + NETFLIX: :NETFLIX + SAMSUNG_PAY: :SAMSUNG_PAY + UNKNOWN: :UNKNOWN + VISA_CHECKOUT: :VISA_CHECKOUT + + def self?.values: -> ::Array[Lithic::Models::DigitalWalletTokenMetadata::token_requestor_name] + end + end + end +end diff --git a/sig/lithic/models/external_bank_account_unpause_response.rbs b/sig/lithic/models/external_bank_account.rbs similarity index 76% rename from sig/lithic/models/external_bank_account_unpause_response.rbs rename to sig/lithic/models/external_bank_account.rbs index 1a80b5b1..a9fd4435 100644 --- a/sig/lithic/models/external_bank_account_unpause_response.rbs +++ b/sig/lithic/models/external_bank_account.rbs @@ -1,6 +1,6 @@ module Lithic module Models - type external_bank_account_unpause_response = + type external_bank_account = { token: String, country: String, @@ -10,11 +10,11 @@ module Lithic owner: String, owner_type: Lithic::Models::owner_type, routing_number: String, - state: Lithic::Models::ExternalBankAccountUnpauseResponse::state, - type: Lithic::Models::ExternalBankAccountUnpauseResponse::type_, + state: Lithic::Models::ExternalBankAccount::state, + type: Lithic::Models::ExternalBankAccount::type_, verification_attempts: Integer, verification_method: Lithic::Models::verification_method, - verification_state: Lithic::Models::ExternalBankAccountUnpauseResponse::verification_state, + verification_state: Lithic::Models::ExternalBankAccount::verification_state, account_token: String?, address: Lithic::ExternalBankAccountAddress?, company_id: String?, @@ -26,7 +26,7 @@ module Lithic verification_failed_reason: String? } - class ExternalBankAccountUnpauseResponse < Lithic::Internal::Type::BaseModel + class ExternalBankAccount < Lithic::Internal::Type::BaseModel attr_accessor token: String attr_accessor country: String @@ -43,15 +43,15 @@ module Lithic attr_accessor routing_number: String - attr_accessor state: Lithic::Models::ExternalBankAccountUnpauseResponse::state + attr_accessor state: Lithic::Models::ExternalBankAccount::state - attr_accessor type: Lithic::Models::ExternalBankAccountUnpauseResponse::type_ + attr_accessor type: Lithic::Models::ExternalBankAccount::type_ attr_accessor verification_attempts: Integer attr_accessor verification_method: Lithic::Models::verification_method - attr_accessor verification_state: Lithic::Models::ExternalBankAccountUnpauseResponse::verification_state + attr_accessor verification_state: Lithic::Models::ExternalBankAccount::verification_state attr_accessor account_token: String? @@ -80,11 +80,11 @@ module Lithic owner: String, owner_type: Lithic::Models::owner_type, routing_number: String, - state: Lithic::Models::ExternalBankAccountUnpauseResponse::state, - type: Lithic::Models::ExternalBankAccountUnpauseResponse::type_, + state: Lithic::Models::ExternalBankAccount::state, + type: Lithic::Models::ExternalBankAccount::type_, verification_attempts: Integer, verification_method: Lithic::Models::verification_method, - verification_state: Lithic::Models::ExternalBankAccountUnpauseResponse::verification_state, + verification_state: Lithic::Models::ExternalBankAccount::verification_state, ?account_token: String?, ?address: Lithic::ExternalBankAccountAddress?, ?company_id: String?, @@ -105,11 +105,11 @@ module Lithic owner: String, owner_type: Lithic::Models::owner_type, routing_number: String, - state: Lithic::Models::ExternalBankAccountUnpauseResponse::state, - type: Lithic::Models::ExternalBankAccountUnpauseResponse::type_, + state: Lithic::Models::ExternalBankAccount::state, + type: Lithic::Models::ExternalBankAccount::type_, verification_attempts: Integer, verification_method: Lithic::Models::verification_method, - verification_state: Lithic::Models::ExternalBankAccountUnpauseResponse::verification_state, + verification_state: Lithic::Models::ExternalBankAccount::verification_state, account_token: String?, address: Lithic::ExternalBankAccountAddress?, company_id: String?, @@ -130,7 +130,7 @@ module Lithic CLOSED: :CLOSED PAUSED: :PAUSED - def self?.values: -> ::Array[Lithic::Models::ExternalBankAccountUnpauseResponse::state] + def self?.values: -> ::Array[Lithic::Models::ExternalBankAccount::state] end type type_ = :CHECKING | :SAVINGS @@ -141,7 +141,7 @@ module Lithic CHECKING: :CHECKING SAVINGS: :SAVINGS - def self?.values: -> ::Array[Lithic::Models::ExternalBankAccountUnpauseResponse::type_] + def self?.values: -> ::Array[Lithic::Models::ExternalBankAccount::type_] end type verification_state = @@ -155,7 +155,7 @@ module Lithic FAILED_VERIFICATION: :FAILED_VERIFICATION INSUFFICIENT_FUNDS: :INSUFFICIENT_FUNDS - def self?.values: -> ::Array[Lithic::Models::ExternalBankAccountUnpauseResponse::verification_state] + def self?.values: -> ::Array[Lithic::Models::ExternalBankAccount::verification_state] end end end diff --git a/sig/lithic/models/external_bank_account_retry_prenote_response.rbs b/sig/lithic/models/external_bank_account_retry_prenote_response.rbs deleted file mode 100644 index 536b47ca..00000000 --- a/sig/lithic/models/external_bank_account_retry_prenote_response.rbs +++ /dev/null @@ -1,162 +0,0 @@ -module Lithic - module Models - type external_bank_account_retry_prenote_response = - { - token: String, - country: String, - created: Time, - currency: String, - last_four: String, - owner: String, - owner_type: Lithic::Models::owner_type, - routing_number: String, - state: Lithic::Models::ExternalBankAccountRetryPrenoteResponse::state, - type: Lithic::Models::ExternalBankAccountRetryPrenoteResponse::type_, - verification_attempts: Integer, - verification_method: Lithic::Models::verification_method, - verification_state: Lithic::Models::ExternalBankAccountRetryPrenoteResponse::verification_state, - account_token: String?, - address: Lithic::ExternalBankAccountAddress?, - company_id: String?, - dob: Date?, - doing_business_as: String?, - financial_account_token: String?, - name: String?, - user_defined_id: String?, - verification_failed_reason: String? - } - - class ExternalBankAccountRetryPrenoteResponse < Lithic::Internal::Type::BaseModel - attr_accessor token: String - - attr_accessor country: String - - attr_accessor created: Time - - attr_accessor currency: String - - attr_accessor last_four: String - - attr_accessor owner: String - - attr_accessor owner_type: Lithic::Models::owner_type - - attr_accessor routing_number: String - - attr_accessor state: Lithic::Models::ExternalBankAccountRetryPrenoteResponse::state - - attr_accessor type: Lithic::Models::ExternalBankAccountRetryPrenoteResponse::type_ - - attr_accessor verification_attempts: Integer - - attr_accessor verification_method: Lithic::Models::verification_method - - attr_accessor verification_state: Lithic::Models::ExternalBankAccountRetryPrenoteResponse::verification_state - - attr_accessor account_token: String? - - attr_accessor address: Lithic::ExternalBankAccountAddress? - - attr_accessor company_id: String? - - attr_accessor dob: Date? - - attr_accessor doing_business_as: String? - - attr_accessor financial_account_token: String? - - attr_accessor name: String? - - attr_accessor user_defined_id: String? - - attr_accessor verification_failed_reason: String? - - def initialize: ( - token: String, - country: String, - created: Time, - currency: String, - last_four: String, - owner: String, - owner_type: Lithic::Models::owner_type, - routing_number: String, - state: Lithic::Models::ExternalBankAccountRetryPrenoteResponse::state, - type: Lithic::Models::ExternalBankAccountRetryPrenoteResponse::type_, - verification_attempts: Integer, - verification_method: Lithic::Models::verification_method, - verification_state: Lithic::Models::ExternalBankAccountRetryPrenoteResponse::verification_state, - ?account_token: String?, - ?address: Lithic::ExternalBankAccountAddress?, - ?company_id: String?, - ?dob: Date?, - ?doing_business_as: String?, - ?financial_account_token: String?, - ?name: String?, - ?user_defined_id: String?, - ?verification_failed_reason: String? - ) -> void - - def to_hash: -> { - token: String, - country: String, - created: Time, - currency: String, - last_four: String, - owner: String, - owner_type: Lithic::Models::owner_type, - routing_number: String, - state: Lithic::Models::ExternalBankAccountRetryPrenoteResponse::state, - type: Lithic::Models::ExternalBankAccountRetryPrenoteResponse::type_, - verification_attempts: Integer, - verification_method: Lithic::Models::verification_method, - verification_state: Lithic::Models::ExternalBankAccountRetryPrenoteResponse::verification_state, - account_token: String?, - address: Lithic::ExternalBankAccountAddress?, - company_id: String?, - dob: Date?, - doing_business_as: String?, - financial_account_token: String?, - name: String?, - user_defined_id: String?, - verification_failed_reason: String? - } - - type state = :ENABLED | :CLOSED | :PAUSED - - module State - extend Lithic::Internal::Type::Enum - - ENABLED: :ENABLED - CLOSED: :CLOSED - PAUSED: :PAUSED - - def self?.values: -> ::Array[Lithic::Models::ExternalBankAccountRetryPrenoteResponse::state] - end - - type type_ = :CHECKING | :SAVINGS - - module Type - extend Lithic::Internal::Type::Enum - - CHECKING: :CHECKING - SAVINGS: :SAVINGS - - def self?.values: -> ::Array[Lithic::Models::ExternalBankAccountRetryPrenoteResponse::type_] - end - - type verification_state = - :PENDING | :ENABLED | :FAILED_VERIFICATION | :INSUFFICIENT_FUNDS - - module VerificationState - extend Lithic::Internal::Type::Enum - - PENDING: :PENDING - ENABLED: :ENABLED - FAILED_VERIFICATION: :FAILED_VERIFICATION - INSUFFICIENT_FUNDS: :INSUFFICIENT_FUNDS - - def self?.values: -> ::Array[Lithic::Models::ExternalBankAccountRetryPrenoteResponse::verification_state] - end - end - end -end diff --git a/sig/lithic/models/external_payment.rbs b/sig/lithic/models/external_payment.rbs index b9c47b90..8dc7e553 100644 --- a/sig/lithic/models/external_payment.rbs +++ b/sig/lithic/models/external_payment.rbs @@ -126,7 +126,12 @@ module Lithic end type category = - :EXTERNAL_WIRE | :EXTERNAL_ACH | :EXTERNAL_CHECK | :EXTERNAL_TRANSFER + :EXTERNAL_WIRE + | :EXTERNAL_ACH + | :EXTERNAL_CHECK + | :EXTERNAL_FEDNOW + | :EXTERNAL_RTP + | :EXTERNAL_TRANSFER module Category extend Lithic::Internal::Type::Enum @@ -134,6 +139,8 @@ module Lithic EXTERNAL_WIRE: :EXTERNAL_WIRE EXTERNAL_ACH: :EXTERNAL_ACH EXTERNAL_CHECK: :EXTERNAL_CHECK + EXTERNAL_FEDNOW: :EXTERNAL_FEDNOW + EXTERNAL_RTP: :EXTERNAL_RTP EXTERNAL_TRANSFER: :EXTERNAL_TRANSFER def self?.values: -> ::Array[Lithic::Models::ExternalPayment::category] @@ -233,6 +240,16 @@ module Lithic | :EXTERNAL_CHECK_SETTLED | :EXTERNAL_CHECK_REVERSED | :EXTERNAL_CHECK_RELEASED + | :EXTERNAL_FEDNOW_INITIATED + | :EXTERNAL_FEDNOW_CANCELED + | :EXTERNAL_FEDNOW_SETTLED + | :EXTERNAL_FEDNOW_REVERSED + | :EXTERNAL_FEDNOW_RELEASED + | :EXTERNAL_RTP_INITIATED + | :EXTERNAL_RTP_CANCELED + | :EXTERNAL_RTP_SETTLED + | :EXTERNAL_RTP_REVERSED + | :EXTERNAL_RTP_RELEASED module Type extend Lithic::Internal::Type::Enum @@ -257,6 +274,16 @@ module Lithic EXTERNAL_CHECK_SETTLED: :EXTERNAL_CHECK_SETTLED EXTERNAL_CHECK_REVERSED: :EXTERNAL_CHECK_REVERSED EXTERNAL_CHECK_RELEASED: :EXTERNAL_CHECK_RELEASED + EXTERNAL_FEDNOW_INITIATED: :EXTERNAL_FEDNOW_INITIATED + EXTERNAL_FEDNOW_CANCELED: :EXTERNAL_FEDNOW_CANCELED + EXTERNAL_FEDNOW_SETTLED: :EXTERNAL_FEDNOW_SETTLED + EXTERNAL_FEDNOW_REVERSED: :EXTERNAL_FEDNOW_REVERSED + EXTERNAL_FEDNOW_RELEASED: :EXTERNAL_FEDNOW_RELEASED + EXTERNAL_RTP_INITIATED: :EXTERNAL_RTP_INITIATED + EXTERNAL_RTP_CANCELED: :EXTERNAL_RTP_CANCELED + EXTERNAL_RTP_SETTLED: :EXTERNAL_RTP_SETTLED + EXTERNAL_RTP_REVERSED: :EXTERNAL_RTP_REVERSED + EXTERNAL_RTP_RELEASED: :EXTERNAL_RTP_RELEASED def self?.values: -> ::Array[Lithic::Models::ExternalPayment::Event::type_] end diff --git a/sig/lithic/models/external_payment_create_params.rbs b/sig/lithic/models/external_payment_create_params.rbs index e96dacb1..a2204135 100644 --- a/sig/lithic/models/external_payment_create_params.rbs +++ b/sig/lithic/models/external_payment_create_params.rbs @@ -73,7 +73,12 @@ module Lithic } type category = - :EXTERNAL_WIRE | :EXTERNAL_ACH | :EXTERNAL_CHECK | :EXTERNAL_TRANSFER + :EXTERNAL_WIRE + | :EXTERNAL_ACH + | :EXTERNAL_CHECK + | :EXTERNAL_FEDNOW + | :EXTERNAL_RTP + | :EXTERNAL_TRANSFER module Category extend Lithic::Internal::Type::Enum @@ -81,6 +86,8 @@ module Lithic EXTERNAL_WIRE: :EXTERNAL_WIRE EXTERNAL_ACH: :EXTERNAL_ACH EXTERNAL_CHECK: :EXTERNAL_CHECK + EXTERNAL_FEDNOW: :EXTERNAL_FEDNOW + EXTERNAL_RTP: :EXTERNAL_RTP EXTERNAL_TRANSFER: :EXTERNAL_TRANSFER def self?.values: -> ::Array[Lithic::Models::ExternalPaymentCreateParams::category] diff --git a/sig/lithic/models/external_payment_list_params.rbs b/sig/lithic/models/external_payment_list_params.rbs index 089016d0..43ed0b8f 100644 --- a/sig/lithic/models/external_payment_list_params.rbs +++ b/sig/lithic/models/external_payment_list_params.rbs @@ -94,7 +94,12 @@ module Lithic } type category = - :EXTERNAL_WIRE | :EXTERNAL_ACH | :EXTERNAL_CHECK | :EXTERNAL_TRANSFER + :EXTERNAL_WIRE + | :EXTERNAL_ACH + | :EXTERNAL_CHECK + | :EXTERNAL_FEDNOW + | :EXTERNAL_RTP + | :EXTERNAL_TRANSFER module Category extend Lithic::Internal::Type::Enum @@ -102,6 +107,8 @@ module Lithic EXTERNAL_WIRE: :EXTERNAL_WIRE EXTERNAL_ACH: :EXTERNAL_ACH EXTERNAL_CHECK: :EXTERNAL_CHECK + EXTERNAL_FEDNOW: :EXTERNAL_FEDNOW + EXTERNAL_RTP: :EXTERNAL_RTP EXTERNAL_TRANSFER: :EXTERNAL_TRANSFER def self?.values: -> ::Array[Lithic::Models::ExternalPaymentListParams::category] diff --git a/sig/lithic/models/financial_account_balance.rbs b/sig/lithic/models/financial_account_balance.rbs new file mode 100644 index 00000000..3d164f75 --- /dev/null +++ b/sig/lithic/models/financial_account_balance.rbs @@ -0,0 +1,78 @@ +module Lithic + module Models + type financial_account_balance = + { + token: String, + available_amount: Integer, + created: Time, + currency: String, + last_transaction_event_token: String, + last_transaction_token: String, + pending_amount: Integer, + total_amount: Integer, + type: Lithic::Models::FinancialAccountBalance::type_, + updated: Time + } + + class FinancialAccountBalance < Lithic::Internal::Type::BaseModel + attr_accessor token: String + + attr_accessor available_amount: Integer + + attr_accessor created: Time + + attr_accessor currency: String + + attr_accessor last_transaction_event_token: String + + attr_accessor last_transaction_token: String + + attr_accessor pending_amount: Integer + + attr_accessor total_amount: Integer + + attr_accessor type: Lithic::Models::FinancialAccountBalance::type_ + + attr_accessor updated: Time + + def initialize: ( + token: String, + available_amount: Integer, + created: Time, + currency: String, + last_transaction_event_token: String, + last_transaction_token: String, + pending_amount: Integer, + total_amount: Integer, + type: Lithic::Models::FinancialAccountBalance::type_, + updated: Time + ) -> void + + def to_hash: -> { + token: String, + available_amount: Integer, + created: Time, + currency: String, + last_transaction_event_token: String, + last_transaction_token: String, + pending_amount: Integer, + total_amount: Integer, + type: Lithic::Models::FinancialAccountBalance::type_, + updated: Time + } + + type type_ = :ISSUING | :OPERATING | :RESERVE | :SECURITY + + module Type + extend Lithic::Internal::Type::Enum + + ISSUING: :ISSUING + OPERATING: :OPERATING + RESERVE: :RESERVE + SECURITY: :SECURITY + + def self?.values: -> ::Array[Lithic::Models::FinancialAccountBalance::type_] + end + end + end +end diff --git a/sig/lithic/models/financial_accounts/balance_list_response.rbs b/sig/lithic/models/financial_accounts/balance_list_response.rbs deleted file mode 100644 index 1f9ed379..00000000 --- a/sig/lithic/models/financial_accounts/balance_list_response.rbs +++ /dev/null @@ -1,80 +0,0 @@ -module Lithic - module Models - module FinancialAccounts - type balance_list_response = - { - token: String, - available_amount: Integer, - created: Time, - currency: String, - last_transaction_event_token: String, - last_transaction_token: String, - pending_amount: Integer, - total_amount: Integer, - type: Lithic::Models::FinancialAccounts::BalanceListResponse::type_, - updated: Time - } - - class BalanceListResponse < Lithic::Internal::Type::BaseModel - attr_accessor token: String - - attr_accessor available_amount: Integer - - attr_accessor created: Time - - attr_accessor currency: String - - attr_accessor last_transaction_event_token: String - - attr_accessor last_transaction_token: String - - attr_accessor pending_amount: Integer - - attr_accessor total_amount: Integer - - attr_accessor type: Lithic::Models::FinancialAccounts::BalanceListResponse::type_ - - attr_accessor updated: Time - - def initialize: ( - token: String, - available_amount: Integer, - created: Time, - currency: String, - last_transaction_event_token: String, - last_transaction_token: String, - pending_amount: Integer, - total_amount: Integer, - type: Lithic::Models::FinancialAccounts::BalanceListResponse::type_, - updated: Time - ) -> void - - def to_hash: -> { - token: String, - available_amount: Integer, - created: Time, - currency: String, - last_transaction_event_token: String, - last_transaction_token: String, - pending_amount: Integer, - total_amount: Integer, - type: Lithic::Models::FinancialAccounts::BalanceListResponse::type_, - updated: Time - } - - type type_ = :ISSUING | :OPERATING | :RESERVE | :SECURITY - - module Type - extend Lithic::Internal::Type::Enum - - ISSUING: :ISSUING - OPERATING: :OPERATING - RESERVE: :RESERVE - SECURITY: :SECURITY - - def self?.values: -> ::Array[Lithic::Models::FinancialAccounts::BalanceListResponse::type_] - end - end - end - end -end diff --git a/sig/lithic/models/financial_accounts/statement.rbs b/sig/lithic/models/financial_accounts/statement.rbs index c33d01e3..5f47bb68 100644 --- a/sig/lithic/models/financial_accounts/statement.rbs +++ b/sig/lithic/models/financial_accounts/statement.rbs @@ -330,9 +330,9 @@ module Lithic { minimum_payment_months: String, minimum_payment_total: String, - payoff_period_length_months: Integer, - payoff_period_monthly_payment_amount: Integer, - payoff_period_payment_total: Integer + payoff_period_length_months: Integer?, + payoff_period_monthly_payment_amount: Integer?, + payoff_period_payment_total: Integer? } class PayoffDetails < Lithic::Internal::Type::BaseModel @@ -340,26 +340,26 @@ module Lithic attr_accessor minimum_payment_total: String - attr_accessor payoff_period_length_months: Integer + attr_accessor payoff_period_length_months: Integer? - attr_accessor payoff_period_monthly_payment_amount: Integer + attr_accessor payoff_period_monthly_payment_amount: Integer? - attr_accessor payoff_period_payment_total: Integer + attr_accessor payoff_period_payment_total: Integer? def initialize: ( minimum_payment_months: String, minimum_payment_total: String, - payoff_period_length_months: Integer, - payoff_period_monthly_payment_amount: Integer, - payoff_period_payment_total: Integer + payoff_period_length_months: Integer?, + payoff_period_monthly_payment_amount: Integer?, + payoff_period_payment_total: Integer? ) -> void def to_hash: -> { minimum_payment_months: String, minimum_payment_total: String, - payoff_period_length_months: Integer, - payoff_period_monthly_payment_amount: Integer, - payoff_period_payment_total: Integer + payoff_period_length_months: Integer?, + payoff_period_monthly_payment_amount: Integer?, + payoff_period_payment_total: Integer? } end end diff --git a/sig/lithic/models/financial_accounts/statements/statement_line_items.rbs b/sig/lithic/models/financial_accounts/statements/statement_line_items.rbs index 1e163a73..feb7696e 100644 --- a/sig/lithic/models/financial_accounts/statements/statement_line_items.rbs +++ b/sig/lithic/models/financial_accounts/statements/statement_line_items.rbs @@ -111,6 +111,8 @@ module Lithic | :CARD | :EXTERNAL_ACH | :EXTERNAL_CHECK + | :EXTERNAL_FEDNOW + | :EXTERNAL_RTP | :EXTERNAL_TRANSFER | :EXTERNAL_WIRE | :MANAGEMENT_ADJUSTMENT @@ -133,6 +135,8 @@ module Lithic CARD: :CARD EXTERNAL_ACH: :EXTERNAL_ACH EXTERNAL_CHECK: :EXTERNAL_CHECK + EXTERNAL_FEDNOW: :EXTERNAL_FEDNOW + EXTERNAL_RTP: :EXTERNAL_RTP EXTERNAL_TRANSFER: :EXTERNAL_TRANSFER EXTERNAL_WIRE: :EXTERNAL_WIRE MANAGEMENT_ADJUSTMENT: :MANAGEMENT_ADJUSTMENT @@ -189,6 +193,16 @@ module Lithic | :EXTERNAL_CHECK_RELEASED | :EXTERNAL_CHECK_REVERSED | :EXTERNAL_CHECK_SETTLED + | :EXTERNAL_FEDNOW_CANCELED + | :EXTERNAL_FEDNOW_INITIATED + | :EXTERNAL_FEDNOW_RELEASED + | :EXTERNAL_FEDNOW_REVERSED + | :EXTERNAL_FEDNOW_SETTLED + | :EXTERNAL_RTP_CANCELED + | :EXTERNAL_RTP_INITIATED + | :EXTERNAL_RTP_RELEASED + | :EXTERNAL_RTP_REVERSED + | :EXTERNAL_RTP_SETTLED | :EXTERNAL_TRANSFER_CANCELED | :EXTERNAL_TRANSFER_INITIATED | :EXTERNAL_TRANSFER_RELEASED @@ -217,6 +231,12 @@ module Lithic | :RETURNED_PAYMENT | :RETURNED_PAYMENT_REVERSAL | :LITHIC_NETWORK_PAYMENT + | :ANNUAL + | :ANNUAL_REVERSAL + | :QUARTERLY + | :QUARTERLY_REVERSAL + | :MONTHLY + | :MONTHLY_REVERSAL module EventType extend Lithic::Internal::Type::Enum @@ -264,6 +284,16 @@ module Lithic EXTERNAL_CHECK_RELEASED: :EXTERNAL_CHECK_RELEASED EXTERNAL_CHECK_REVERSED: :EXTERNAL_CHECK_REVERSED EXTERNAL_CHECK_SETTLED: :EXTERNAL_CHECK_SETTLED + EXTERNAL_FEDNOW_CANCELED: :EXTERNAL_FEDNOW_CANCELED + EXTERNAL_FEDNOW_INITIATED: :EXTERNAL_FEDNOW_INITIATED + EXTERNAL_FEDNOW_RELEASED: :EXTERNAL_FEDNOW_RELEASED + EXTERNAL_FEDNOW_REVERSED: :EXTERNAL_FEDNOW_REVERSED + EXTERNAL_FEDNOW_SETTLED: :EXTERNAL_FEDNOW_SETTLED + EXTERNAL_RTP_CANCELED: :EXTERNAL_RTP_CANCELED + EXTERNAL_RTP_INITIATED: :EXTERNAL_RTP_INITIATED + EXTERNAL_RTP_RELEASED: :EXTERNAL_RTP_RELEASED + EXTERNAL_RTP_REVERSED: :EXTERNAL_RTP_REVERSED + EXTERNAL_RTP_SETTLED: :EXTERNAL_RTP_SETTLED EXTERNAL_TRANSFER_CANCELED: :EXTERNAL_TRANSFER_CANCELED EXTERNAL_TRANSFER_INITIATED: :EXTERNAL_TRANSFER_INITIATED EXTERNAL_TRANSFER_RELEASED: :EXTERNAL_TRANSFER_RELEASED @@ -292,6 +322,12 @@ module Lithic RETURNED_PAYMENT: :RETURNED_PAYMENT RETURNED_PAYMENT_REVERSAL: :RETURNED_PAYMENT_REVERSAL LITHIC_NETWORK_PAYMENT: :LITHIC_NETWORK_PAYMENT + ANNUAL: :ANNUAL + ANNUAL_REVERSAL: :ANNUAL_REVERSAL + QUARTERLY: :QUARTERLY + QUARTERLY_REVERSAL: :QUARTERLY_REVERSAL + MONTHLY: :MONTHLY + MONTHLY_REVERSAL: :MONTHLY_REVERSAL def self?.values: -> ::Array[Lithic::Models::FinancialAccounts::Statements::StatementLineItems::Data::event_type] end diff --git a/sig/lithic/models/financial_event.rbs b/sig/lithic/models/financial_event.rbs index b822962d..cf5379e5 100644 --- a/sig/lithic/models/financial_event.rbs +++ b/sig/lithic/models/financial_event.rbs @@ -105,6 +105,16 @@ module Lithic | :EXTERNAL_CHECK_RELEASED | :EXTERNAL_CHECK_REVERSED | :EXTERNAL_CHECK_SETTLED + | :EXTERNAL_FEDNOW_CANCELED + | :EXTERNAL_FEDNOW_INITIATED + | :EXTERNAL_FEDNOW_RELEASED + | :EXTERNAL_FEDNOW_REVERSED + | :EXTERNAL_FEDNOW_SETTLED + | :EXTERNAL_RTP_CANCELED + | :EXTERNAL_RTP_INITIATED + | :EXTERNAL_RTP_RELEASED + | :EXTERNAL_RTP_REVERSED + | :EXTERNAL_RTP_SETTLED | :EXTERNAL_TRANSFER_CANCELED | :EXTERNAL_TRANSFER_INITIATED | :EXTERNAL_TRANSFER_RELEASED @@ -133,6 +143,12 @@ module Lithic | :RETURNED_PAYMENT | :RETURNED_PAYMENT_REVERSAL | :LITHIC_NETWORK_PAYMENT + | :ANNUAL + | :ANNUAL_REVERSAL + | :QUARTERLY + | :QUARTERLY_REVERSAL + | :MONTHLY + | :MONTHLY_REVERSAL module Type extend Lithic::Internal::Type::Enum @@ -180,6 +196,16 @@ module Lithic EXTERNAL_CHECK_RELEASED: :EXTERNAL_CHECK_RELEASED EXTERNAL_CHECK_REVERSED: :EXTERNAL_CHECK_REVERSED EXTERNAL_CHECK_SETTLED: :EXTERNAL_CHECK_SETTLED + EXTERNAL_FEDNOW_CANCELED: :EXTERNAL_FEDNOW_CANCELED + EXTERNAL_FEDNOW_INITIATED: :EXTERNAL_FEDNOW_INITIATED + EXTERNAL_FEDNOW_RELEASED: :EXTERNAL_FEDNOW_RELEASED + EXTERNAL_FEDNOW_REVERSED: :EXTERNAL_FEDNOW_REVERSED + EXTERNAL_FEDNOW_SETTLED: :EXTERNAL_FEDNOW_SETTLED + EXTERNAL_RTP_CANCELED: :EXTERNAL_RTP_CANCELED + EXTERNAL_RTP_INITIATED: :EXTERNAL_RTP_INITIATED + EXTERNAL_RTP_RELEASED: :EXTERNAL_RTP_RELEASED + EXTERNAL_RTP_REVERSED: :EXTERNAL_RTP_REVERSED + EXTERNAL_RTP_SETTLED: :EXTERNAL_RTP_SETTLED EXTERNAL_TRANSFER_CANCELED: :EXTERNAL_TRANSFER_CANCELED EXTERNAL_TRANSFER_INITIATED: :EXTERNAL_TRANSFER_INITIATED EXTERNAL_TRANSFER_RELEASED: :EXTERNAL_TRANSFER_RELEASED @@ -208,6 +234,12 @@ module Lithic RETURNED_PAYMENT: :RETURNED_PAYMENT RETURNED_PAYMENT_REVERSAL: :RETURNED_PAYMENT_REVERSAL LITHIC_NETWORK_PAYMENT: :LITHIC_NETWORK_PAYMENT + ANNUAL: :ANNUAL + ANNUAL_REVERSAL: :ANNUAL_REVERSAL + QUARTERLY: :QUARTERLY + QUARTERLY_REVERSAL: :QUARTERLY_REVERSAL + MONTHLY: :MONTHLY + MONTHLY_REVERSAL: :MONTHLY_REVERSAL def self?.values: -> ::Array[Lithic::Models::FinancialEvent::type_] end diff --git a/sig/lithic/models/funding_event_list_response.rbs b/sig/lithic/models/funding_event.rbs similarity index 67% rename from sig/lithic/models/funding_event_list_response.rbs rename to sig/lithic/models/funding_event.rbs index 31b2237e..32167ee6 100644 --- a/sig/lithic/models/funding_event_list_response.rbs +++ b/sig/lithic/models/funding_event.rbs @@ -1,21 +1,21 @@ module Lithic module Models - type funding_event_list_response = + type funding_event = { token: String, - collection_resource_type: Lithic::Models::FundingEventListResponse::collection_resource_type, + collection_resource_type: Lithic::Models::FundingEvent::collection_resource_type, collection_tokens: ::Array[String], created: Time, high_watermark: Time, - network_settlement_summary: ::Array[Lithic::Models::FundingEventListResponse::NetworkSettlementSummary], + network_settlement_summary: ::Array[Lithic::FundingEvent::NetworkSettlementSummary], previous_high_watermark: Time, updated: Time } - class FundingEventListResponse < Lithic::Internal::Type::BaseModel + class FundingEvent < Lithic::Internal::Type::BaseModel attr_accessor token: String - attr_accessor collection_resource_type: Lithic::Models::FundingEventListResponse::collection_resource_type + attr_accessor collection_resource_type: Lithic::Models::FundingEvent::collection_resource_type attr_accessor collection_tokens: ::Array[String] @@ -23,7 +23,7 @@ module Lithic attr_accessor high_watermark: Time - attr_accessor network_settlement_summary: ::Array[Lithic::Models::FundingEventListResponse::NetworkSettlementSummary] + attr_accessor network_settlement_summary: ::Array[Lithic::FundingEvent::NetworkSettlementSummary] attr_accessor previous_high_watermark: Time @@ -31,22 +31,22 @@ module Lithic def initialize: ( token: String, - collection_resource_type: Lithic::Models::FundingEventListResponse::collection_resource_type, + collection_resource_type: Lithic::Models::FundingEvent::collection_resource_type, collection_tokens: ::Array[String], created: Time, high_watermark: Time, - network_settlement_summary: ::Array[Lithic::Models::FundingEventListResponse::NetworkSettlementSummary], + network_settlement_summary: ::Array[Lithic::FundingEvent::NetworkSettlementSummary], previous_high_watermark: Time, updated: Time ) -> void def to_hash: -> { token: String, - collection_resource_type: Lithic::Models::FundingEventListResponse::collection_resource_type, + collection_resource_type: Lithic::Models::FundingEvent::collection_resource_type, collection_tokens: ::Array[String], created: Time, high_watermark: Time, - network_settlement_summary: ::Array[Lithic::Models::FundingEventListResponse::NetworkSettlementSummary], + network_settlement_summary: ::Array[Lithic::FundingEvent::NetworkSettlementSummary], previous_high_watermark: Time, updated: Time } @@ -59,7 +59,7 @@ module Lithic BOOK_TRANSFER: :BOOK_TRANSFER PAYMENT: :PAYMENT - def self?.values: -> ::Array[Lithic::Models::FundingEventListResponse::collection_resource_type] + def self?.values: -> ::Array[Lithic::Models::FundingEvent::collection_resource_type] end type network_settlement_summary = diff --git a/sig/lithic/models/funding_event_retrieve_response.rbs b/sig/lithic/models/funding_event_retrieve_response.rbs deleted file mode 100644 index c5bff79b..00000000 --- a/sig/lithic/models/funding_event_retrieve_response.rbs +++ /dev/null @@ -1,85 +0,0 @@ -module Lithic - module Models - type funding_event_retrieve_response = - { - token: String, - collection_resource_type: Lithic::Models::FundingEventRetrieveResponse::collection_resource_type, - collection_tokens: ::Array[String], - created: Time, - high_watermark: Time, - network_settlement_summary: ::Array[Lithic::Models::FundingEventRetrieveResponse::NetworkSettlementSummary], - previous_high_watermark: Time, - updated: Time - } - - class FundingEventRetrieveResponse < Lithic::Internal::Type::BaseModel - attr_accessor token: String - - attr_accessor collection_resource_type: Lithic::Models::FundingEventRetrieveResponse::collection_resource_type - - attr_accessor collection_tokens: ::Array[String] - - attr_accessor created: Time - - attr_accessor high_watermark: Time - - attr_accessor network_settlement_summary: ::Array[Lithic::Models::FundingEventRetrieveResponse::NetworkSettlementSummary] - - attr_accessor previous_high_watermark: Time - - attr_accessor updated: Time - - def initialize: ( - token: String, - collection_resource_type: Lithic::Models::FundingEventRetrieveResponse::collection_resource_type, - collection_tokens: ::Array[String], - created: Time, - high_watermark: Time, - network_settlement_summary: ::Array[Lithic::Models::FundingEventRetrieveResponse::NetworkSettlementSummary], - previous_high_watermark: Time, - updated: Time - ) -> void - - def to_hash: -> { - token: String, - collection_resource_type: Lithic::Models::FundingEventRetrieveResponse::collection_resource_type, - collection_tokens: ::Array[String], - created: Time, - high_watermark: Time, - network_settlement_summary: ::Array[Lithic::Models::FundingEventRetrieveResponse::NetworkSettlementSummary], - previous_high_watermark: Time, - updated: Time - } - - type collection_resource_type = :BOOK_TRANSFER | :PAYMENT - - module CollectionResourceType - extend Lithic::Internal::Type::Enum - - BOOK_TRANSFER: :BOOK_TRANSFER - PAYMENT: :PAYMENT - - def self?.values: -> ::Array[Lithic::Models::FundingEventRetrieveResponse::collection_resource_type] - end - - type network_settlement_summary = - { network_settlement_date: Date, settled_gross_amount: Integer } - - class NetworkSettlementSummary < Lithic::Internal::Type::BaseModel - attr_accessor network_settlement_date: Date - - attr_accessor settled_gross_amount: Integer - - def initialize: ( - network_settlement_date: Date, - settled_gross_amount: Integer - ) -> void - - def to_hash: -> { - network_settlement_date: Date, - settled_gross_amount: Integer - } - end - end - end -end diff --git a/sig/lithic/models/internal_transaction.rbs b/sig/lithic/models/internal_transaction.rbs new file mode 100644 index 00000000..d59aed2a --- /dev/null +++ b/sig/lithic/models/internal_transaction.rbs @@ -0,0 +1,165 @@ +module Lithic + module Models + type internal_transaction_api = + { + token: String, + category: Lithic::Models::InternalTransactionAPI::category, + created: Time, + currency: String, + descriptor: String, + events: ::Array[Lithic::InternalTransactionAPI::Event], + pending_amount: Integer, + result: Lithic::Models::InternalTransactionAPI::result, + settled_amount: Integer, + status: Lithic::Models::InternalTransactionAPI::status, + updated: Time + } + + class InternalTransactionAPI < Lithic::Internal::Type::BaseModel + attr_accessor token: String + + attr_accessor category: Lithic::Models::InternalTransactionAPI::category + + attr_accessor created: Time + + attr_accessor currency: String + + attr_accessor descriptor: String + + attr_accessor events: ::Array[Lithic::InternalTransactionAPI::Event] + + attr_accessor pending_amount: Integer + + attr_accessor result: Lithic::Models::InternalTransactionAPI::result + + attr_accessor settled_amount: Integer + + attr_accessor status: Lithic::Models::InternalTransactionAPI::status + + attr_accessor updated: Time + + def initialize: ( + token: String, + category: Lithic::Models::InternalTransactionAPI::category, + created: Time, + currency: String, + descriptor: String, + events: ::Array[Lithic::InternalTransactionAPI::Event], + pending_amount: Integer, + result: Lithic::Models::InternalTransactionAPI::result, + settled_amount: Integer, + status: Lithic::Models::InternalTransactionAPI::status, + updated: Time + ) -> void + + def to_hash: -> { + token: String, + category: Lithic::Models::InternalTransactionAPI::category, + created: Time, + currency: String, + descriptor: String, + events: ::Array[Lithic::InternalTransactionAPI::Event], + pending_amount: Integer, + result: Lithic::Models::InternalTransactionAPI::result, + settled_amount: Integer, + status: Lithic::Models::InternalTransactionAPI::status, + updated: Time + } + + type category = :INTERNAL + + module Category + extend Lithic::Internal::Type::Enum + + INTERNAL: :INTERNAL + + def self?.values: -> ::Array[Lithic::Models::InternalTransactionAPI::category] + end + + type event = + { + token: String, + amount: Integer, + created: Time, + result: Lithic::Models::InternalTransactionAPI::Event::result, + type: Lithic::Models::InternalTransactionAPI::Event::type_ + } + + class Event < Lithic::Internal::Type::BaseModel + attr_accessor token: String + + attr_accessor amount: Integer + + attr_accessor created: Time + + attr_accessor result: Lithic::Models::InternalTransactionAPI::Event::result + + attr_accessor type: Lithic::Models::InternalTransactionAPI::Event::type_ + + def initialize: ( + token: String, + amount: Integer, + created: Time, + result: Lithic::Models::InternalTransactionAPI::Event::result, + type: Lithic::Models::InternalTransactionAPI::Event::type_ + ) -> void + + def to_hash: -> { + token: String, + amount: Integer, + created: Time, + result: Lithic::Models::InternalTransactionAPI::Event::result, + type: Lithic::Models::InternalTransactionAPI::Event::type_ + } + + type result = :APPROVED | :DECLINED + + module Result + extend Lithic::Internal::Type::Enum + + APPROVED: :APPROVED + DECLINED: :DECLINED + + def self?.values: -> ::Array[Lithic::Models::InternalTransactionAPI::Event::result] + end + + type type_ = :INTERNAL_ADJUSTMENT + + module Type + extend Lithic::Internal::Type::Enum + + INTERNAL_ADJUSTMENT: :INTERNAL_ADJUSTMENT + + def self?.values: -> ::Array[Lithic::Models::InternalTransactionAPI::Event::type_] + end + end + + type result = :APPROVED | :DECLINED + + module Result + extend Lithic::Internal::Type::Enum + + APPROVED: :APPROVED + DECLINED: :DECLINED + + def self?.values: -> ::Array[Lithic::Models::InternalTransactionAPI::result] + end + + type status = + :PENDING | :SETTLED | :DECLINED | :REVERSED | :CANCELED | :RETURNED + + module Status + extend Lithic::Internal::Type::Enum + + PENDING: :PENDING + SETTLED: :SETTLED + DECLINED: :DECLINED + REVERSED: :REVERSED + CANCELED: :CANCELED + RETURNED: :RETURNED + + def self?.values: -> ::Array[Lithic::Models::InternalTransactionAPI::status] + end + end + end +end diff --git a/sig/lithic/models/management_operation_create_params.rbs b/sig/lithic/models/management_operation_create_params.rbs index 1e47b957..3863796c 100644 --- a/sig/lithic/models/management_operation_create_params.rbs +++ b/sig/lithic/models/management_operation_create_params.rbs @@ -134,6 +134,12 @@ module Lithic | :DISPUTE_WON_REVERSAL | :DISBURSE | :DISBURSE_REVERSAL + | :ANNUAL + | :ANNUAL_REVERSAL + | :QUARTERLY + | :QUARTERLY_REVERSAL + | :MONTHLY + | :MONTHLY_REVERSAL module EventType extend Lithic::Internal::Type::Enum @@ -157,6 +163,12 @@ module Lithic DISPUTE_WON_REVERSAL: :DISPUTE_WON_REVERSAL DISBURSE: :DISBURSE DISBURSE_REVERSAL: :DISBURSE_REVERSAL + ANNUAL: :ANNUAL + ANNUAL_REVERSAL: :ANNUAL_REVERSAL + QUARTERLY: :QUARTERLY + QUARTERLY_REVERSAL: :QUARTERLY_REVERSAL + MONTHLY: :MONTHLY + MONTHLY_REVERSAL: :MONTHLY_REVERSAL def self?.values: -> ::Array[Lithic::Models::ManagementOperationCreateParams::event_type] end diff --git a/sig/lithic/models/management_operation_transaction.rbs b/sig/lithic/models/management_operation_transaction.rbs index 77d9a8b8..c00b9577 100644 --- a/sig/lithic/models/management_operation_transaction.rbs +++ b/sig/lithic/models/management_operation_transaction.rbs @@ -263,6 +263,12 @@ module Lithic | :DISPUTE_WON_REVERSAL | :DISBURSE | :DISBURSE_REVERSAL + | :ANNUAL + | :ANNUAL_REVERSAL + | :QUARTERLY + | :QUARTERLY_REVERSAL + | :MONTHLY + | :MONTHLY_REVERSAL module Type extend Lithic::Internal::Type::Enum @@ -286,6 +292,12 @@ module Lithic DISPUTE_WON_REVERSAL: :DISPUTE_WON_REVERSAL DISBURSE: :DISBURSE DISBURSE_REVERSAL: :DISBURSE_REVERSAL + ANNUAL: :ANNUAL + ANNUAL_REVERSAL: :ANNUAL_REVERSAL + QUARTERLY: :QUARTERLY + QUARTERLY_REVERSAL: :QUARTERLY_REVERSAL + MONTHLY: :MONTHLY + MONTHLY_REVERSAL: :MONTHLY_REVERSAL def self?.values: -> ::Array[Lithic::Models::ManagementOperationTransaction::Event::type_] end diff --git a/sig/lithic/models/network_total.rbs b/sig/lithic/models/network_total.rbs new file mode 100644 index 00000000..54b224b8 --- /dev/null +++ b/sig/lithic/models/network_total.rbs @@ -0,0 +1,125 @@ +module Lithic + module Models + type network_total = + { + token: String, + amounts: Lithic::NetworkTotal::Amounts, + created: Time, + currency: String, + institution_id: String, + is_complete: bool, + network: Lithic::Models::NetworkTotal::network, + report_date: Date, + settlement_institution_id: String, + settlement_service: String, + updated: Time, + cycle: Integer + } + + class NetworkTotal < Lithic::Internal::Type::BaseModel + attr_accessor token: String + + attr_accessor amounts: Lithic::NetworkTotal::Amounts + + attr_accessor created: Time + + attr_accessor currency: String + + attr_accessor institution_id: String + + attr_accessor is_complete: bool + + attr_accessor network: Lithic::Models::NetworkTotal::network + + attr_accessor report_date: Date + + attr_accessor settlement_institution_id: String + + attr_accessor settlement_service: String + + attr_accessor updated: Time + + attr_reader cycle: Integer? + + def cycle=: (Integer) -> Integer + + def initialize: ( + token: String, + amounts: Lithic::NetworkTotal::Amounts, + created: Time, + currency: String, + institution_id: String, + is_complete: bool, + network: Lithic::Models::NetworkTotal::network, + report_date: Date, + settlement_institution_id: String, + settlement_service: String, + updated: Time, + ?cycle: Integer + ) -> void + + def to_hash: -> { + token: String, + amounts: Lithic::NetworkTotal::Amounts, + created: Time, + currency: String, + institution_id: String, + is_complete: bool, + network: Lithic::Models::NetworkTotal::network, + report_date: Date, + settlement_institution_id: String, + settlement_service: String, + updated: Time, + cycle: Integer + } + + type amounts = + { + gross_settlement: Integer, + interchange_fees: Integer, + net_settlement: Integer, + visa_charges: Integer + } + + class Amounts < Lithic::Internal::Type::BaseModel + attr_accessor gross_settlement: Integer + + attr_accessor interchange_fees: Integer + + attr_accessor net_settlement: Integer + + attr_reader visa_charges: Integer? + + def visa_charges=: (Integer) -> Integer + + def initialize: ( + gross_settlement: Integer, + interchange_fees: Integer, + net_settlement: Integer, + ?visa_charges: Integer + ) -> void + + def to_hash: -> { + gross_settlement: Integer, + interchange_fees: Integer, + net_settlement: Integer, + visa_charges: Integer + } + end + + type network = :AMEX | :VISA | :MASTERCARD | :MAESTRO | :INTERLINK + + module Network + extend Lithic::Internal::Type::Enum + + AMEX: :AMEX + VISA: :VISA + MASTERCARD: :MASTERCARD + MAESTRO: :MAESTRO + INTERLINK: :INTERLINK + + def self?.values: -> ::Array[Lithic::Models::NetworkTotal::network] + end + end + end +end diff --git a/sig/lithic/models/non_pci_card.rbs b/sig/lithic/models/non_pci_card.rbs index 9d2659f9..84cbd736 100644 --- a/sig/lithic/models/non_pci_card.rbs +++ b/sig/lithic/models/non_pci_card.rbs @@ -14,6 +14,7 @@ module Lithic state: Lithic::Models::NonPCICard::state, type: Lithic::Models::NonPCICard::type_, auth_rule_tokens: ::Array[String], + bulk_order_token: String?, cardholder_currency: String, comment: String, digital_card_art_token: String, @@ -55,6 +56,8 @@ module Lithic def auth_rule_tokens=: (::Array[String]) -> ::Array[String] + attr_accessor bulk_order_token: String? + attr_reader cardholder_currency: String? def cardholder_currency=: (String) -> String @@ -114,6 +117,7 @@ module Lithic state: Lithic::Models::NonPCICard::state, type: Lithic::Models::NonPCICard::type_, ?auth_rule_tokens: ::Array[String], + ?bulk_order_token: String?, ?cardholder_currency: String, ?comment: String, ?digital_card_art_token: String, @@ -141,6 +145,7 @@ module Lithic state: Lithic::Models::NonPCICard::state, type: Lithic::Models::NonPCICard::type_, auth_rule_tokens: ::Array[String], + bulk_order_token: String?, cardholder_currency: String, comment: String, digital_card_art_token: String, diff --git a/sig/lithic/models/payment.rbs b/sig/lithic/models/payment.rbs index f8d21b51..e92b8e53 100644 --- a/sig/lithic/models/payment.rbs +++ b/sig/lithic/models/payment.rbs @@ -138,6 +138,8 @@ module Lithic | :CARD | :EXTERNAL_ACH | :EXTERNAL_CHECK + | :EXTERNAL_FEDNOW + | :EXTERNAL_RTP | :EXTERNAL_TRANSFER | :EXTERNAL_WIRE | :MANAGEMENT_ADJUSTMENT @@ -160,6 +162,8 @@ module Lithic CARD: :CARD EXTERNAL_ACH: :EXTERNAL_ACH EXTERNAL_CHECK: :EXTERNAL_CHECK + EXTERNAL_FEDNOW: :EXTERNAL_FEDNOW + EXTERNAL_RTP: :EXTERNAL_RTP EXTERNAL_TRANSFER: :EXTERNAL_TRANSFER EXTERNAL_WIRE: :EXTERNAL_WIRE MANAGEMENT_ADJUSTMENT: :MANAGEMENT_ADJUSTMENT @@ -322,6 +326,7 @@ module Lithic type ach_method_attributes = { sec_code: Lithic::Models::Payment::MethodAttributes::ACHMethodAttributes::sec_code, + ach_hold_period: Integer?, addenda: String?, company_id: String?, receipt_routing_number: String?, @@ -333,6 +338,8 @@ module Lithic class ACHMethodAttributes < Lithic::Internal::Type::BaseModel attr_accessor sec_code: Lithic::Models::Payment::MethodAttributes::ACHMethodAttributes::sec_code + attr_accessor ach_hold_period: Integer? + attr_accessor addenda: String? attr_accessor company_id: String? @@ -349,6 +356,7 @@ module Lithic def initialize: ( sec_code: Lithic::Models::Payment::MethodAttributes::ACHMethodAttributes::sec_code, + ?ach_hold_period: Integer?, ?addenda: String?, ?company_id: String?, ?receipt_routing_number: String?, @@ -359,6 +367,7 @@ module Lithic def to_hash: -> { sec_code: Lithic::Models::Payment::MethodAttributes::ACHMethodAttributes::sec_code, + ach_hold_period: Integer?, addenda: String?, company_id: String?, receipt_routing_number: String?, diff --git a/sig/lithic/models/payment_create_params.rbs b/sig/lithic/models/payment_create_params.rbs index fecef9f3..b0f71fca 100644 --- a/sig/lithic/models/payment_create_params.rbs +++ b/sig/lithic/models/payment_create_params.rbs @@ -82,21 +82,28 @@ module Lithic type method_attributes = { sec_code: Lithic::Models::PaymentCreateParams::MethodAttributes::sec_code, + ach_hold_period: Integer, addenda: String? } class MethodAttributes < Lithic::Internal::Type::BaseModel attr_accessor sec_code: Lithic::Models::PaymentCreateParams::MethodAttributes::sec_code + attr_reader ach_hold_period: Integer? + + def ach_hold_period=: (Integer) -> Integer + attr_accessor addenda: String? def initialize: ( sec_code: Lithic::Models::PaymentCreateParams::MethodAttributes::sec_code, + ?ach_hold_period: Integer, ?addenda: String? ) -> void def to_hash: -> { sec_code: Lithic::Models::PaymentCreateParams::MethodAttributes::sec_code, + ach_hold_period: Integer, addenda: String? } diff --git a/sig/lithic/models/reports/settlement/network_total_list_response.rbs b/sig/lithic/models/reports/settlement/network_total_list_response.rbs deleted file mode 100644 index 108d21b8..00000000 --- a/sig/lithic/models/reports/settlement/network_total_list_response.rbs +++ /dev/null @@ -1,129 +0,0 @@ -module Lithic - module Models - module Reports - module Settlement - type network_total_list_response = - { - token: String, - amounts: Lithic::Models::Reports::Settlement::NetworkTotalListResponse::Amounts, - created: Time, - currency: String, - institution_id: String, - is_complete: bool, - network: Lithic::Models::Reports::Settlement::NetworkTotalListResponse::network, - report_date: Date, - settlement_institution_id: String, - settlement_service: String, - updated: Time, - cycle: Integer - } - - class NetworkTotalListResponse < Lithic::Internal::Type::BaseModel - attr_accessor token: String - - attr_accessor amounts: Lithic::Models::Reports::Settlement::NetworkTotalListResponse::Amounts - - attr_accessor created: Time - - attr_accessor currency: String - - attr_accessor institution_id: String - - attr_accessor is_complete: bool - - attr_accessor network: Lithic::Models::Reports::Settlement::NetworkTotalListResponse::network - - attr_accessor report_date: Date - - attr_accessor settlement_institution_id: String - - attr_accessor settlement_service: String - - attr_accessor updated: Time - - attr_reader cycle: Integer? - - def cycle=: (Integer) -> Integer - - def initialize: ( - token: String, - amounts: Lithic::Models::Reports::Settlement::NetworkTotalListResponse::Amounts, - created: Time, - currency: String, - institution_id: String, - is_complete: bool, - network: Lithic::Models::Reports::Settlement::NetworkTotalListResponse::network, - report_date: Date, - settlement_institution_id: String, - settlement_service: String, - updated: Time, - ?cycle: Integer - ) -> void - - def to_hash: -> { - token: String, - amounts: Lithic::Models::Reports::Settlement::NetworkTotalListResponse::Amounts, - created: Time, - currency: String, - institution_id: String, - is_complete: bool, - network: Lithic::Models::Reports::Settlement::NetworkTotalListResponse::network, - report_date: Date, - settlement_institution_id: String, - settlement_service: String, - updated: Time, - cycle: Integer - } - - type amounts = - { - gross_settlement: Integer, - interchange_fees: Integer, - net_settlement: Integer, - visa_charges: Integer - } - - class Amounts < Lithic::Internal::Type::BaseModel - attr_accessor gross_settlement: Integer - - attr_accessor interchange_fees: Integer - - attr_accessor net_settlement: Integer - - attr_reader visa_charges: Integer? - - def visa_charges=: (Integer) -> Integer - - def initialize: ( - gross_settlement: Integer, - interchange_fees: Integer, - net_settlement: Integer, - ?visa_charges: Integer - ) -> void - - def to_hash: -> { - gross_settlement: Integer, - interchange_fees: Integer, - net_settlement: Integer, - visa_charges: Integer - } - end - - type network = :AMEX | :VISA | :MASTERCARD | :MAESTRO | :INTERLINK - - module Network - extend Lithic::Internal::Type::Enum - - AMEX: :AMEX - VISA: :VISA - MASTERCARD: :MASTERCARD - MAESTRO: :MAESTRO - INTERLINK: :INTERLINK - - def self?.values: -> ::Array[Lithic::Models::Reports::Settlement::NetworkTotalListResponse::network] - end - end - end - end - end -end diff --git a/sig/lithic/models/reports/settlement/network_total_retrieve_response.rbs b/sig/lithic/models/reports/settlement/network_total_retrieve_response.rbs deleted file mode 100644 index 726a1804..00000000 --- a/sig/lithic/models/reports/settlement/network_total_retrieve_response.rbs +++ /dev/null @@ -1,129 +0,0 @@ -module Lithic - module Models - module Reports - module Settlement - type network_total_retrieve_response = - { - token: String, - amounts: Lithic::Models::Reports::Settlement::NetworkTotalRetrieveResponse::Amounts, - created: Time, - currency: String, - institution_id: String, - is_complete: bool, - network: Lithic::Models::Reports::Settlement::NetworkTotalRetrieveResponse::network, - report_date: Date, - settlement_institution_id: String, - settlement_service: String, - updated: Time, - cycle: Integer - } - - class NetworkTotalRetrieveResponse < Lithic::Internal::Type::BaseModel - attr_accessor token: String - - attr_accessor amounts: Lithic::Models::Reports::Settlement::NetworkTotalRetrieveResponse::Amounts - - attr_accessor created: Time - - attr_accessor currency: String - - attr_accessor institution_id: String - - attr_accessor is_complete: bool - - attr_accessor network: Lithic::Models::Reports::Settlement::NetworkTotalRetrieveResponse::network - - attr_accessor report_date: Date - - attr_accessor settlement_institution_id: String - - attr_accessor settlement_service: String - - attr_accessor updated: Time - - attr_reader cycle: Integer? - - def cycle=: (Integer) -> Integer - - def initialize: ( - token: String, - amounts: Lithic::Models::Reports::Settlement::NetworkTotalRetrieveResponse::Amounts, - created: Time, - currency: String, - institution_id: String, - is_complete: bool, - network: Lithic::Models::Reports::Settlement::NetworkTotalRetrieveResponse::network, - report_date: Date, - settlement_institution_id: String, - settlement_service: String, - updated: Time, - ?cycle: Integer - ) -> void - - def to_hash: -> { - token: String, - amounts: Lithic::Models::Reports::Settlement::NetworkTotalRetrieveResponse::Amounts, - created: Time, - currency: String, - institution_id: String, - is_complete: bool, - network: Lithic::Models::Reports::Settlement::NetworkTotalRetrieveResponse::network, - report_date: Date, - settlement_institution_id: String, - settlement_service: String, - updated: Time, - cycle: Integer - } - - type amounts = - { - gross_settlement: Integer, - interchange_fees: Integer, - net_settlement: Integer, - visa_charges: Integer - } - - class Amounts < Lithic::Internal::Type::BaseModel - attr_accessor gross_settlement: Integer - - attr_accessor interchange_fees: Integer - - attr_accessor net_settlement: Integer - - attr_reader visa_charges: Integer? - - def visa_charges=: (Integer) -> Integer - - def initialize: ( - gross_settlement: Integer, - interchange_fees: Integer, - net_settlement: Integer, - ?visa_charges: Integer - ) -> void - - def to_hash: -> { - gross_settlement: Integer, - interchange_fees: Integer, - net_settlement: Integer, - visa_charges: Integer - } - end - - type network = :AMEX | :VISA | :MASTERCARD | :MAESTRO | :INTERLINK - - module Network - extend Lithic::Internal::Type::Enum - - AMEX: :AMEX - VISA: :VISA - MASTERCARD: :MASTERCARD - MAESTRO: :MAESTRO - INTERLINK: :INTERLINK - - def self?.values: -> ::Array[Lithic::Models::Reports::Settlement::NetworkTotalRetrieveResponse::network] - end - end - end - end - end -end diff --git a/sig/lithic/models/three_ds/authentication_retrieve_response.rbs b/sig/lithic/models/three_ds/authentication_retrieve_response.rbs deleted file mode 100644 index 9e370dc8..00000000 --- a/sig/lithic/models/three_ds/authentication_retrieve_response.rbs +++ /dev/null @@ -1,913 +0,0 @@ -module Lithic - module Models - module ThreeDS - type authentication_retrieve_response = - { - token: String, - account_type: Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::account_type?, - authentication_result: Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::authentication_result, - card_expiry_check: Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::card_expiry_check, - card_token: String, - cardholder: Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Cardholder, - channel: Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::channel, - created: Time, - merchant: Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Merchant, - message_category: Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::message_category, - three_ds_requestor_challenge_indicator: Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::three_ds_requestor_challenge_indicator, - additional_data: Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::AdditionalData?, - app: Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::App?, - authentication_request_type: Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::authentication_request_type?, - browser: Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Browser?, - challenge_metadata: Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::ChallengeMetadata?, - challenge_orchestrated_by: Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::challenge_orchestrated_by?, - decision_made_by: Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::decision_made_by?, - three_ri_request_type: Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::three_ri_request_type?, - transaction: Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Transaction? - } - - class AuthenticationRetrieveResponse < Lithic::Internal::Type::BaseModel - attr_accessor token: String - - attr_accessor account_type: Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::account_type? - - attr_accessor authentication_result: Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::authentication_result - - attr_accessor card_expiry_check: Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::card_expiry_check - - attr_accessor card_token: String - - attr_accessor cardholder: Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Cardholder - - attr_accessor channel: Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::channel - - attr_accessor created: Time - - attr_accessor merchant: Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Merchant - - attr_accessor message_category: Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::message_category - - attr_accessor three_ds_requestor_challenge_indicator: Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::three_ds_requestor_challenge_indicator - - attr_accessor additional_data: Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::AdditionalData? - - attr_accessor app: Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::App? - - attr_accessor authentication_request_type: Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::authentication_request_type? - - attr_accessor browser: Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Browser? - - attr_accessor challenge_metadata: Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::ChallengeMetadata? - - attr_accessor challenge_orchestrated_by: Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::challenge_orchestrated_by? - - attr_accessor decision_made_by: Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::decision_made_by? - - attr_accessor three_ri_request_type: Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::three_ri_request_type? - - attr_accessor transaction: Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Transaction? - - def initialize: ( - token: String, - account_type: Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::account_type?, - authentication_result: Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::authentication_result, - card_expiry_check: Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::card_expiry_check, - card_token: String, - cardholder: Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Cardholder, - channel: Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::channel, - created: Time, - merchant: Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Merchant, - message_category: Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::message_category, - three_ds_requestor_challenge_indicator: Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::three_ds_requestor_challenge_indicator, - ?additional_data: Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::AdditionalData?, - ?app: Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::App?, - ?authentication_request_type: Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::authentication_request_type?, - ?browser: Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Browser?, - ?challenge_metadata: Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::ChallengeMetadata?, - ?challenge_orchestrated_by: Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::challenge_orchestrated_by?, - ?decision_made_by: Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::decision_made_by?, - ?three_ri_request_type: Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::three_ri_request_type?, - ?transaction: Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Transaction? - ) -> void - - def to_hash: -> { - token: String, - account_type: Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::account_type?, - authentication_result: Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::authentication_result, - card_expiry_check: Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::card_expiry_check, - card_token: String, - cardholder: Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Cardholder, - channel: Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::channel, - created: Time, - merchant: Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Merchant, - message_category: Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::message_category, - three_ds_requestor_challenge_indicator: Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::three_ds_requestor_challenge_indicator, - additional_data: Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::AdditionalData?, - app: Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::App?, - authentication_request_type: Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::authentication_request_type?, - browser: Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Browser?, - challenge_metadata: Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::ChallengeMetadata?, - challenge_orchestrated_by: Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::challenge_orchestrated_by?, - decision_made_by: Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::decision_made_by?, - three_ri_request_type: Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::three_ri_request_type?, - transaction: Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Transaction? - } - - type account_type = :CREDIT | :DEBIT | :NOT_APPLICABLE - - module AccountType - extend Lithic::Internal::Type::Enum - - CREDIT: :CREDIT - DEBIT: :DEBIT - NOT_APPLICABLE: :NOT_APPLICABLE - - def self?.values: -> ::Array[Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::account_type] - end - - type authentication_result = - :DECLINE | :SUCCESS | :PENDING_CHALLENGE | :PENDING_DECISION - - module AuthenticationResult - extend Lithic::Internal::Type::Enum - - DECLINE: :DECLINE - SUCCESS: :SUCCESS - PENDING_CHALLENGE: :PENDING_CHALLENGE - PENDING_DECISION: :PENDING_DECISION - - def self?.values: -> ::Array[Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::authentication_result] - end - - type card_expiry_check = :MATCH | :MISMATCH | :NOT_PRESENT - - module CardExpiryCheck - extend Lithic::Internal::Type::Enum - - MATCH: :MATCH - MISMATCH: :MISMATCH - NOT_PRESENT: :NOT_PRESENT - - def self?.values: -> ::Array[Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::card_expiry_check] - end - - type cardholder = - { - address_match: bool?, - address_on_file_match: Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Cardholder::address_on_file_match, - billing_address: Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Cardholder::BillingAddress, - email: String?, - name: String?, - phone_number_home: String?, - phone_number_mobile: String?, - phone_number_work: String?, - shipping_address: Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Cardholder::ShippingAddress - } - - class Cardholder < Lithic::Internal::Type::BaseModel - attr_accessor address_match: bool? - - attr_reader address_on_file_match: Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Cardholder::address_on_file_match? - - def address_on_file_match=: ( - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Cardholder::address_on_file_match - ) -> Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Cardholder::address_on_file_match - - attr_reader billing_address: Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Cardholder::BillingAddress? - - def billing_address=: ( - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Cardholder::BillingAddress - ) -> Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Cardholder::BillingAddress - - attr_accessor email: String? - - attr_accessor name: String? - - attr_accessor phone_number_home: String? - - attr_accessor phone_number_mobile: String? - - attr_accessor phone_number_work: String? - - attr_reader shipping_address: Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Cardholder::ShippingAddress? - - def shipping_address=: ( - Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Cardholder::ShippingAddress - ) -> Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Cardholder::ShippingAddress - - def initialize: ( - ?address_match: bool?, - ?address_on_file_match: Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Cardholder::address_on_file_match, - ?billing_address: Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Cardholder::BillingAddress, - ?email: String?, - ?name: String?, - ?phone_number_home: String?, - ?phone_number_mobile: String?, - ?phone_number_work: String?, - ?shipping_address: Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Cardholder::ShippingAddress - ) -> void - - def to_hash: -> { - address_match: bool?, - address_on_file_match: Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Cardholder::address_on_file_match, - billing_address: Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Cardholder::BillingAddress, - email: String?, - name: String?, - phone_number_home: String?, - phone_number_mobile: String?, - phone_number_work: String?, - shipping_address: Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Cardholder::ShippingAddress - } - - type address_on_file_match = - :MATCH - | :MATCH_ADDRESS_ONLY - | :MATCH_ZIP_ONLY - | :MISMATCH - | :NOT_PRESENT - - module AddressOnFileMatch - extend Lithic::Internal::Type::Enum - - MATCH: :MATCH - MATCH_ADDRESS_ONLY: :MATCH_ADDRESS_ONLY - MATCH_ZIP_ONLY: :MATCH_ZIP_ONLY - MISMATCH: :MISMATCH - NOT_PRESENT: :NOT_PRESENT - - def self?.values: -> ::Array[Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Cardholder::address_on_file_match] - end - - type billing_address = - { - :address1 => String?, - :address2 => String?, - :address3 => String?, - city: String?, - country: String?, - postal_code: String? - } - - class BillingAddress < Lithic::Internal::Type::BaseModel - attr_accessor address1: String? - - attr_accessor address2: String? - - attr_accessor address3: String? - - attr_accessor city: String? - - attr_accessor country: String? - - attr_accessor postal_code: String? - - def initialize: ( - ?address1: String?, - ?address2: String?, - ?address3: String?, - ?city: String?, - ?country: String?, - ?postal_code: String? - ) -> void - - def to_hash: -> { - :address1 => String?, - :address2 => String?, - :address3 => String?, - city: String?, - country: String?, - postal_code: String? - } - end - - type shipping_address = - { - :address1 => String?, - :address2 => String?, - :address3 => String?, - city: String?, - country: String?, - postal_code: String? - } - - class ShippingAddress < Lithic::Internal::Type::BaseModel - attr_accessor address1: String? - - attr_accessor address2: String? - - attr_accessor address3: String? - - attr_accessor city: String? - - attr_accessor country: String? - - attr_accessor postal_code: String? - - def initialize: ( - ?address1: String?, - ?address2: String?, - ?address3: String?, - ?city: String?, - ?country: String?, - ?postal_code: String? - ) -> void - - def to_hash: -> { - :address1 => String?, - :address2 => String?, - :address3 => String?, - city: String?, - country: String?, - postal_code: String? - } - end - end - - type channel = :APP_BASED | :BROWSER | :THREE_DS_REQUESTOR_INITIATED - - module Channel - extend Lithic::Internal::Type::Enum - - APP_BASED: :APP_BASED - BROWSER: :BROWSER - THREE_DS_REQUESTOR_INITIATED: :THREE_DS_REQUESTOR_INITIATED - - def self?.values: -> ::Array[Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::channel] - end - - type merchant = - { - risk_indicator: Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Merchant::RiskIndicator, - id: String?, - country: String?, - mcc: String?, - name: String? - } - - class Merchant < Lithic::Internal::Type::BaseModel - attr_accessor risk_indicator: Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Merchant::RiskIndicator - - attr_accessor id: String? - - attr_accessor country: String? - - attr_accessor mcc: String? - - attr_accessor name: String? - - def initialize: ( - risk_indicator: Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Merchant::RiskIndicator, - ?id: String?, - ?country: String?, - ?mcc: String?, - ?name: String? - ) -> void - - def to_hash: -> { - risk_indicator: Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Merchant::RiskIndicator, - id: String?, - country: String?, - mcc: String?, - name: String? - } - - type risk_indicator = - { - delivery_email_address: String?, - delivery_time_frame: Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Merchant::RiskIndicator::delivery_time_frame?, - gift_card_amount: Integer?, - gift_card_count: Integer?, - gift_card_currency: String?, - order_availability: Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Merchant::RiskIndicator::order_availability?, - pre_order_available_date: Time?, - reorder_items: Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Merchant::RiskIndicator::reorder_items?, - shipping_method: Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Merchant::RiskIndicator::shipping_method? - } - - class RiskIndicator < Lithic::Internal::Type::BaseModel - attr_accessor delivery_email_address: String? - - attr_accessor delivery_time_frame: Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Merchant::RiskIndicator::delivery_time_frame? - - attr_accessor gift_card_amount: Integer? - - attr_accessor gift_card_count: Integer? - - attr_accessor gift_card_currency: String? - - attr_accessor order_availability: Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Merchant::RiskIndicator::order_availability? - - attr_accessor pre_order_available_date: Time? - - attr_accessor reorder_items: Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Merchant::RiskIndicator::reorder_items? - - attr_accessor shipping_method: Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Merchant::RiskIndicator::shipping_method? - - def initialize: ( - ?delivery_email_address: String?, - ?delivery_time_frame: Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Merchant::RiskIndicator::delivery_time_frame?, - ?gift_card_amount: Integer?, - ?gift_card_count: Integer?, - ?gift_card_currency: String?, - ?order_availability: Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Merchant::RiskIndicator::order_availability?, - ?pre_order_available_date: Time?, - ?reorder_items: Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Merchant::RiskIndicator::reorder_items?, - ?shipping_method: Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Merchant::RiskIndicator::shipping_method? - ) -> void - - def to_hash: -> { - delivery_email_address: String?, - delivery_time_frame: Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Merchant::RiskIndicator::delivery_time_frame?, - gift_card_amount: Integer?, - gift_card_count: Integer?, - gift_card_currency: String?, - order_availability: Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Merchant::RiskIndicator::order_availability?, - pre_order_available_date: Time?, - reorder_items: Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Merchant::RiskIndicator::reorder_items?, - shipping_method: Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Merchant::RiskIndicator::shipping_method? - } - - type delivery_time_frame = - :ELECTRONIC_DELIVERY - | :OVERNIGHT_SHIPPING - | :SAME_DAY_SHIPPING - | :TWO_DAY_OR_MORE_SHIPPING - - module DeliveryTimeFrame - extend Lithic::Internal::Type::Enum - - ELECTRONIC_DELIVERY: :ELECTRONIC_DELIVERY - OVERNIGHT_SHIPPING: :OVERNIGHT_SHIPPING - SAME_DAY_SHIPPING: :SAME_DAY_SHIPPING - TWO_DAY_OR_MORE_SHIPPING: :TWO_DAY_OR_MORE_SHIPPING - - def self?.values: -> ::Array[Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Merchant::RiskIndicator::delivery_time_frame] - end - - type order_availability = - :FUTURE_AVAILABILITY | :MERCHANDISE_AVAILABLE - - module OrderAvailability - extend Lithic::Internal::Type::Enum - - FUTURE_AVAILABILITY: :FUTURE_AVAILABILITY - MERCHANDISE_AVAILABLE: :MERCHANDISE_AVAILABLE - - def self?.values: -> ::Array[Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Merchant::RiskIndicator::order_availability] - end - - type reorder_items = :FIRST_TIME_ORDERED | :REORDERED - - module ReorderItems - extend Lithic::Internal::Type::Enum - - FIRST_TIME_ORDERED: :FIRST_TIME_ORDERED - REORDERED: :REORDERED - - def self?.values: -> ::Array[Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Merchant::RiskIndicator::reorder_items] - end - - type shipping_method = - :DIGITAL_GOODS - | :LOCKER_DELIVERY - | :OTHER - | :PICK_UP_AND_GO_DELIVERY - | :SHIP_TO_BILLING_ADDRESS - | :SHIP_TO_NON_BILLING_ADDRESS - | :SHIP_TO_OTHER_VERIFIED_ADDRESS - | :SHIP_TO_STORE - | :TRAVEL_AND_EVENT_TICKETS - - module ShippingMethod - extend Lithic::Internal::Type::Enum - - DIGITAL_GOODS: :DIGITAL_GOODS - LOCKER_DELIVERY: :LOCKER_DELIVERY - OTHER: :OTHER - PICK_UP_AND_GO_DELIVERY: :PICK_UP_AND_GO_DELIVERY - SHIP_TO_BILLING_ADDRESS: :SHIP_TO_BILLING_ADDRESS - SHIP_TO_NON_BILLING_ADDRESS: :SHIP_TO_NON_BILLING_ADDRESS - SHIP_TO_OTHER_VERIFIED_ADDRESS: :SHIP_TO_OTHER_VERIFIED_ADDRESS - SHIP_TO_STORE: :SHIP_TO_STORE - TRAVEL_AND_EVENT_TICKETS: :TRAVEL_AND_EVENT_TICKETS - - def self?.values: -> ::Array[Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Merchant::RiskIndicator::shipping_method] - end - end - end - - type message_category = - :NON_PAYMENT_AUTHENTICATION | :PAYMENT_AUTHENTICATION - - module MessageCategory - extend Lithic::Internal::Type::Enum - - NON_PAYMENT_AUTHENTICATION: :NON_PAYMENT_AUTHENTICATION - PAYMENT_AUTHENTICATION: :PAYMENT_AUTHENTICATION - - def self?.values: -> ::Array[Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::message_category] - end - - type three_ds_requestor_challenge_indicator = - :NO_PREFERENCE - | :NO_CHALLENGE_REQUESTED - | :CHALLENGE_PREFERENCE - | :CHALLENGE_MANDATE - | :NO_CHALLENGE_RISK_ALREADY_ASSESSED - | :DATA_SHARE_ONLY - | :OTHER - - module ThreeDSRequestorChallengeIndicator - extend Lithic::Internal::Type::Enum - - NO_PREFERENCE: :NO_PREFERENCE - NO_CHALLENGE_REQUESTED: :NO_CHALLENGE_REQUESTED - CHALLENGE_PREFERENCE: :CHALLENGE_PREFERENCE - CHALLENGE_MANDATE: :CHALLENGE_MANDATE - NO_CHALLENGE_RISK_ALREADY_ASSESSED: :NO_CHALLENGE_RISK_ALREADY_ASSESSED - DATA_SHARE_ONLY: :DATA_SHARE_ONLY - OTHER: :OTHER - - def self?.values: -> ::Array[Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::three_ds_requestor_challenge_indicator] - end - - type additional_data = - { - network_decision: Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::AdditionalData::network_decision?, - network_risk_score: Integer? - } - - class AdditionalData < Lithic::Internal::Type::BaseModel - attr_accessor network_decision: Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::AdditionalData::network_decision? - - attr_accessor network_risk_score: Integer? - - def initialize: ( - ?network_decision: Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::AdditionalData::network_decision?, - ?network_risk_score: Integer? - ) -> void - - def to_hash: -> { - network_decision: Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::AdditionalData::network_decision?, - network_risk_score: Integer? - } - - type network_decision = :LOW_RISK | :NOT_LOW_RISK - - module NetworkDecision - extend Lithic::Internal::Type::Enum - - LOW_RISK: :LOW_RISK - NOT_LOW_RISK: :NOT_LOW_RISK - - def self?.values: -> ::Array[Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::AdditionalData::network_decision] - end - end - - type app = - { - device: String?, - device_info: String?, - ip: String, - latitude: Float?, - locale: String?, - longitude: Float?, - os: String?, - platform: String?, - screen_height: Integer?, - screen_width: Integer?, - time_zone: String? - } - - class App < Lithic::Internal::Type::BaseModel - attr_accessor device: String? - - attr_accessor device_info: String? - - attr_reader ip: String? - - def ip=: (String) -> String - - attr_accessor latitude: Float? - - attr_accessor locale: String? - - attr_accessor longitude: Float? - - attr_accessor os: String? - - attr_accessor platform: String? - - attr_accessor screen_height: Integer? - - attr_accessor screen_width: Integer? - - attr_accessor time_zone: String? - - def initialize: ( - ?device: String?, - ?device_info: String?, - ?ip: String, - ?latitude: Float?, - ?locale: String?, - ?longitude: Float?, - ?os: String?, - ?platform: String?, - ?screen_height: Integer?, - ?screen_width: Integer?, - ?time_zone: String? - ) -> void - - def to_hash: -> { - device: String?, - device_info: String?, - ip: String, - latitude: Float?, - locale: String?, - longitude: Float?, - os: String?, - platform: String?, - screen_height: Integer?, - screen_width: Integer?, - time_zone: String? - } - end - - type authentication_request_type = - :ADD_CARD - | :BILLING_AGREEMENT - | :DELAYED_SHIPMENT - | :EMV_TOKEN_CARDHOLDER_VERIFICATION - | :INSTALLMENT_TRANSACTION - | :MAINTAIN_CARD - | :PAYMENT_TRANSACTION - | :RECURRING_TRANSACTION - | :SPLIT_PAYMENT - | :SPLIT_SHIPMENT - - module AuthenticationRequestType - extend Lithic::Internal::Type::Enum - - ADD_CARD: :ADD_CARD - BILLING_AGREEMENT: :BILLING_AGREEMENT - DELAYED_SHIPMENT: :DELAYED_SHIPMENT - EMV_TOKEN_CARDHOLDER_VERIFICATION: :EMV_TOKEN_CARDHOLDER_VERIFICATION - INSTALLMENT_TRANSACTION: :INSTALLMENT_TRANSACTION - MAINTAIN_CARD: :MAINTAIN_CARD - PAYMENT_TRANSACTION: :PAYMENT_TRANSACTION - RECURRING_TRANSACTION: :RECURRING_TRANSACTION - SPLIT_PAYMENT: :SPLIT_PAYMENT - SPLIT_SHIPMENT: :SPLIT_SHIPMENT - - def self?.values: -> ::Array[Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::authentication_request_type] - end - - type browser = - { - accept_header: String?, - ip: String?, - java_enabled: bool?, - javascript_enabled: bool?, - language: String?, - time_zone: String?, - user_agent: String? - } - - class Browser < Lithic::Internal::Type::BaseModel - attr_accessor accept_header: String? - - attr_accessor ip: String? - - attr_accessor java_enabled: bool? - - attr_accessor javascript_enabled: bool? - - attr_accessor language: String? - - attr_accessor time_zone: String? - - attr_accessor user_agent: String? - - def initialize: ( - ?accept_header: String?, - ?ip: String?, - ?java_enabled: bool?, - ?javascript_enabled: bool?, - ?language: String?, - ?time_zone: String?, - ?user_agent: String? - ) -> void - - def to_hash: -> { - accept_header: String?, - ip: String?, - java_enabled: bool?, - javascript_enabled: bool?, - language: String?, - time_zone: String?, - user_agent: String? - } - end - - 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? - } - - type method_type = :SMS_OTP | :OUT_OF_BAND - - module MethodType - extend Lithic::Internal::Type::Enum - - SMS_OTP: :SMS_OTP - OUT_OF_BAND: :OUT_OF_BAND - - 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 - - module ChallengeOrchestratedBy - extend Lithic::Internal::Type::Enum - - LITHIC: :LITHIC - CUSTOMER: :CUSTOMER - NO_CHALLENGE: :NO_CHALLENGE - - def self?.values: -> ::Array[Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::challenge_orchestrated_by] - end - - type decision_made_by = - :LITHIC_RULES - | :LITHIC_DEFAULT - | :CUSTOMER_RULES - | :CUSTOMER_ENDPOINT - | :NETWORK - | :UNKNOWN - - module DecisionMadeBy - extend Lithic::Internal::Type::Enum - - LITHIC_RULES: :LITHIC_RULES - LITHIC_DEFAULT: :LITHIC_DEFAULT - CUSTOMER_RULES: :CUSTOMER_RULES - CUSTOMER_ENDPOINT: :CUSTOMER_ENDPOINT - NETWORK: :NETWORK - UNKNOWN: :UNKNOWN - - def self?.values: -> ::Array[Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::decision_made_by] - end - - type three_ri_request_type = - :ACCOUNT_VERIFICATION - | :ADD_CARD - | :BILLING_AGREEMENT - | :CARD_SECURITY_CODE_STATUS_CHECK - | :DELAYED_SHIPMENT - | :DEVICE_BINDING_STATUS_CHECK - | :INSTALLMENT_TRANSACTION - | :MAIL_ORDER - | :MAINTAIN_CARD_INFO - | :OTHER_PAYMENT - | :RECURRING_TRANSACTION - | :SPLIT_PAYMENT - | :SPLIT_SHIPMENT - | :TELEPHONE_ORDER - | :TOP_UP - | :TRUST_LIST_STATUS_CHECK - - module ThreeRiRequestType - extend Lithic::Internal::Type::Enum - - ACCOUNT_VERIFICATION: :ACCOUNT_VERIFICATION - ADD_CARD: :ADD_CARD - BILLING_AGREEMENT: :BILLING_AGREEMENT - CARD_SECURITY_CODE_STATUS_CHECK: :CARD_SECURITY_CODE_STATUS_CHECK - DELAYED_SHIPMENT: :DELAYED_SHIPMENT - DEVICE_BINDING_STATUS_CHECK: :DEVICE_BINDING_STATUS_CHECK - INSTALLMENT_TRANSACTION: :INSTALLMENT_TRANSACTION - MAIL_ORDER: :MAIL_ORDER - MAINTAIN_CARD_INFO: :MAINTAIN_CARD_INFO - OTHER_PAYMENT: :OTHER_PAYMENT - RECURRING_TRANSACTION: :RECURRING_TRANSACTION - SPLIT_PAYMENT: :SPLIT_PAYMENT - SPLIT_SHIPMENT: :SPLIT_SHIPMENT - TELEPHONE_ORDER: :TELEPHONE_ORDER - TOP_UP: :TOP_UP - TRUST_LIST_STATUS_CHECK: :TRUST_LIST_STATUS_CHECK - - def self?.values: -> ::Array[Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::three_ri_request_type] - end - - type transaction = - { - amount: Float, - cardholder_amount: Float?, - currency: String, - currency_exponent: Float, - date_time: Time, - type: Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Transaction::type_? - } - - class Transaction < Lithic::Internal::Type::BaseModel - attr_accessor amount: Float - - attr_accessor cardholder_amount: Float? - - attr_accessor currency: String - - attr_accessor currency_exponent: Float - - attr_accessor date_time: Time - - attr_accessor type: Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Transaction::type_? - - def initialize: ( - amount: Float, - cardholder_amount: Float?, - currency: String, - currency_exponent: Float, - date_time: Time, - type: Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Transaction::type_? - ) -> void - - def to_hash: -> { - amount: Float, - cardholder_amount: Float?, - currency: String, - currency_exponent: Float, - date_time: Time, - type: Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Transaction::type_? - } - - type type_ = - :ACCOUNT_FUNDING - | :CHECK_ACCEPTANCE - | :GOODS_SERVICE_PURCHASE - | :PREPAID_ACTIVATION_AND_LOAD - | :QUASI_CASH_TRANSACTION - - module Type - extend Lithic::Internal::Type::Enum - - ACCOUNT_FUNDING: :ACCOUNT_FUNDING - CHECK_ACCEPTANCE: :CHECK_ACCEPTANCE - GOODS_SERVICE_PURCHASE: :GOODS_SERVICE_PURCHASE - PREPAID_ACTIVATION_AND_LOAD: :PREPAID_ACTIVATION_AND_LOAD - QUASI_CASH_TRANSACTION: :QUASI_CASH_TRANSACTION - - def self?.values: -> ::Array[Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Transaction::type_] - end - end - end - end - end -end diff --git a/sig/lithic/models/three_ds_authentication.rbs b/sig/lithic/models/three_ds_authentication.rbs new file mode 100644 index 00000000..844c69db --- /dev/null +++ b/sig/lithic/models/three_ds_authentication.rbs @@ -0,0 +1,911 @@ +module Lithic + module Models + type three_ds_authentication = + { + token: String, + account_type: Lithic::Models::ThreeDSAuthentication::account_type?, + authentication_result: Lithic::Models::ThreeDSAuthentication::authentication_result, + card_expiry_check: Lithic::Models::ThreeDSAuthentication::card_expiry_check, + card_token: String, + cardholder: Lithic::ThreeDSAuthentication::Cardholder, + channel: Lithic::Models::ThreeDSAuthentication::channel, + created: Time, + merchant: Lithic::ThreeDSAuthentication::Merchant, + message_category: Lithic::Models::ThreeDSAuthentication::message_category, + three_ds_requestor_challenge_indicator: Lithic::Models::ThreeDSAuthentication::three_ds_requestor_challenge_indicator, + additional_data: Lithic::ThreeDSAuthentication::AdditionalData?, + app: Lithic::ThreeDSAuthentication::App?, + authentication_request_type: Lithic::Models::ThreeDSAuthentication::authentication_request_type?, + browser: Lithic::ThreeDSAuthentication::Browser?, + challenge_metadata: Lithic::ThreeDSAuthentication::ChallengeMetadata?, + challenge_orchestrated_by: Lithic::Models::ThreeDSAuthentication::challenge_orchestrated_by?, + decision_made_by: Lithic::Models::ThreeDSAuthentication::decision_made_by?, + three_ri_request_type: Lithic::Models::ThreeDSAuthentication::three_ri_request_type?, + transaction: Lithic::ThreeDSAuthentication::Transaction? + } + + class ThreeDSAuthentication < Lithic::Internal::Type::BaseModel + attr_accessor token: String + + attr_accessor account_type: Lithic::Models::ThreeDSAuthentication::account_type? + + attr_accessor authentication_result: Lithic::Models::ThreeDSAuthentication::authentication_result + + attr_accessor card_expiry_check: Lithic::Models::ThreeDSAuthentication::card_expiry_check + + attr_accessor card_token: String + + attr_accessor cardholder: Lithic::ThreeDSAuthentication::Cardholder + + attr_accessor channel: Lithic::Models::ThreeDSAuthentication::channel + + attr_accessor created: Time + + attr_accessor merchant: Lithic::ThreeDSAuthentication::Merchant + + attr_accessor message_category: Lithic::Models::ThreeDSAuthentication::message_category + + attr_accessor three_ds_requestor_challenge_indicator: Lithic::Models::ThreeDSAuthentication::three_ds_requestor_challenge_indicator + + attr_accessor additional_data: Lithic::ThreeDSAuthentication::AdditionalData? + + attr_accessor app: Lithic::ThreeDSAuthentication::App? + + attr_accessor authentication_request_type: Lithic::Models::ThreeDSAuthentication::authentication_request_type? + + attr_accessor browser: Lithic::ThreeDSAuthentication::Browser? + + attr_accessor challenge_metadata: Lithic::ThreeDSAuthentication::ChallengeMetadata? + + attr_accessor challenge_orchestrated_by: Lithic::Models::ThreeDSAuthentication::challenge_orchestrated_by? + + attr_accessor decision_made_by: Lithic::Models::ThreeDSAuthentication::decision_made_by? + + attr_accessor three_ri_request_type: Lithic::Models::ThreeDSAuthentication::three_ri_request_type? + + attr_accessor transaction: Lithic::ThreeDSAuthentication::Transaction? + + def initialize: ( + token: String, + account_type: Lithic::Models::ThreeDSAuthentication::account_type?, + authentication_result: Lithic::Models::ThreeDSAuthentication::authentication_result, + card_expiry_check: Lithic::Models::ThreeDSAuthentication::card_expiry_check, + card_token: String, + cardholder: Lithic::ThreeDSAuthentication::Cardholder, + channel: Lithic::Models::ThreeDSAuthentication::channel, + created: Time, + merchant: Lithic::ThreeDSAuthentication::Merchant, + message_category: Lithic::Models::ThreeDSAuthentication::message_category, + three_ds_requestor_challenge_indicator: Lithic::Models::ThreeDSAuthentication::three_ds_requestor_challenge_indicator, + ?additional_data: Lithic::ThreeDSAuthentication::AdditionalData?, + ?app: Lithic::ThreeDSAuthentication::App?, + ?authentication_request_type: Lithic::Models::ThreeDSAuthentication::authentication_request_type?, + ?browser: Lithic::ThreeDSAuthentication::Browser?, + ?challenge_metadata: Lithic::ThreeDSAuthentication::ChallengeMetadata?, + ?challenge_orchestrated_by: Lithic::Models::ThreeDSAuthentication::challenge_orchestrated_by?, + ?decision_made_by: Lithic::Models::ThreeDSAuthentication::decision_made_by?, + ?three_ri_request_type: Lithic::Models::ThreeDSAuthentication::three_ri_request_type?, + ?transaction: Lithic::ThreeDSAuthentication::Transaction? + ) -> void + + def to_hash: -> { + token: String, + account_type: Lithic::Models::ThreeDSAuthentication::account_type?, + authentication_result: Lithic::Models::ThreeDSAuthentication::authentication_result, + card_expiry_check: Lithic::Models::ThreeDSAuthentication::card_expiry_check, + card_token: String, + cardholder: Lithic::ThreeDSAuthentication::Cardholder, + channel: Lithic::Models::ThreeDSAuthentication::channel, + created: Time, + merchant: Lithic::ThreeDSAuthentication::Merchant, + message_category: Lithic::Models::ThreeDSAuthentication::message_category, + three_ds_requestor_challenge_indicator: Lithic::Models::ThreeDSAuthentication::three_ds_requestor_challenge_indicator, + additional_data: Lithic::ThreeDSAuthentication::AdditionalData?, + app: Lithic::ThreeDSAuthentication::App?, + authentication_request_type: Lithic::Models::ThreeDSAuthentication::authentication_request_type?, + browser: Lithic::ThreeDSAuthentication::Browser?, + challenge_metadata: Lithic::ThreeDSAuthentication::ChallengeMetadata?, + challenge_orchestrated_by: Lithic::Models::ThreeDSAuthentication::challenge_orchestrated_by?, + decision_made_by: Lithic::Models::ThreeDSAuthentication::decision_made_by?, + three_ri_request_type: Lithic::Models::ThreeDSAuthentication::three_ri_request_type?, + transaction: Lithic::ThreeDSAuthentication::Transaction? + } + + type account_type = :CREDIT | :DEBIT | :NOT_APPLICABLE + + module AccountType + extend Lithic::Internal::Type::Enum + + CREDIT: :CREDIT + DEBIT: :DEBIT + NOT_APPLICABLE: :NOT_APPLICABLE + + def self?.values: -> ::Array[Lithic::Models::ThreeDSAuthentication::account_type] + end + + type authentication_result = + :DECLINE | :SUCCESS | :PENDING_CHALLENGE | :PENDING_DECISION + + module AuthenticationResult + extend Lithic::Internal::Type::Enum + + DECLINE: :DECLINE + SUCCESS: :SUCCESS + PENDING_CHALLENGE: :PENDING_CHALLENGE + PENDING_DECISION: :PENDING_DECISION + + def self?.values: -> ::Array[Lithic::Models::ThreeDSAuthentication::authentication_result] + end + + type card_expiry_check = :MATCH | :MISMATCH | :NOT_PRESENT + + module CardExpiryCheck + extend Lithic::Internal::Type::Enum + + MATCH: :MATCH + MISMATCH: :MISMATCH + NOT_PRESENT: :NOT_PRESENT + + def self?.values: -> ::Array[Lithic::Models::ThreeDSAuthentication::card_expiry_check] + end + + type cardholder = + { + address_match: bool?, + address_on_file_match: Lithic::Models::ThreeDSAuthentication::Cardholder::address_on_file_match, + billing_address: Lithic::ThreeDSAuthentication::Cardholder::BillingAddress, + email: String?, + name: String?, + phone_number_home: String?, + phone_number_mobile: String?, + phone_number_work: String?, + shipping_address: Lithic::ThreeDSAuthentication::Cardholder::ShippingAddress + } + + class Cardholder < Lithic::Internal::Type::BaseModel + attr_accessor address_match: bool? + + attr_reader address_on_file_match: Lithic::Models::ThreeDSAuthentication::Cardholder::address_on_file_match? + + def address_on_file_match=: ( + Lithic::Models::ThreeDSAuthentication::Cardholder::address_on_file_match + ) -> Lithic::Models::ThreeDSAuthentication::Cardholder::address_on_file_match + + attr_reader billing_address: Lithic::ThreeDSAuthentication::Cardholder::BillingAddress? + + def billing_address=: ( + Lithic::ThreeDSAuthentication::Cardholder::BillingAddress + ) -> Lithic::ThreeDSAuthentication::Cardholder::BillingAddress + + attr_accessor email: String? + + attr_accessor name: String? + + attr_accessor phone_number_home: String? + + attr_accessor phone_number_mobile: String? + + attr_accessor phone_number_work: String? + + attr_reader shipping_address: Lithic::ThreeDSAuthentication::Cardholder::ShippingAddress? + + def shipping_address=: ( + Lithic::ThreeDSAuthentication::Cardholder::ShippingAddress + ) -> Lithic::ThreeDSAuthentication::Cardholder::ShippingAddress + + def initialize: ( + ?address_match: bool?, + ?address_on_file_match: Lithic::Models::ThreeDSAuthentication::Cardholder::address_on_file_match, + ?billing_address: Lithic::ThreeDSAuthentication::Cardholder::BillingAddress, + ?email: String?, + ?name: String?, + ?phone_number_home: String?, + ?phone_number_mobile: String?, + ?phone_number_work: String?, + ?shipping_address: Lithic::ThreeDSAuthentication::Cardholder::ShippingAddress + ) -> void + + def to_hash: -> { + address_match: bool?, + address_on_file_match: Lithic::Models::ThreeDSAuthentication::Cardholder::address_on_file_match, + billing_address: Lithic::ThreeDSAuthentication::Cardholder::BillingAddress, + email: String?, + name: String?, + phone_number_home: String?, + phone_number_mobile: String?, + phone_number_work: String?, + shipping_address: Lithic::ThreeDSAuthentication::Cardholder::ShippingAddress + } + + type address_on_file_match = + :MATCH + | :MATCH_ADDRESS_ONLY + | :MATCH_ZIP_ONLY + | :MISMATCH + | :NOT_PRESENT + + module AddressOnFileMatch + extend Lithic::Internal::Type::Enum + + MATCH: :MATCH + MATCH_ADDRESS_ONLY: :MATCH_ADDRESS_ONLY + MATCH_ZIP_ONLY: :MATCH_ZIP_ONLY + MISMATCH: :MISMATCH + NOT_PRESENT: :NOT_PRESENT + + def self?.values: -> ::Array[Lithic::Models::ThreeDSAuthentication::Cardholder::address_on_file_match] + end + + type billing_address = + { + :address1 => String?, + :address2 => String?, + :address3 => String?, + city: String?, + country: String?, + postal_code: String? + } + + class BillingAddress < Lithic::Internal::Type::BaseModel + attr_accessor address1: String? + + attr_accessor address2: String? + + attr_accessor address3: String? + + attr_accessor city: String? + + attr_accessor country: String? + + attr_accessor postal_code: String? + + def initialize: ( + ?address1: String?, + ?address2: String?, + ?address3: String?, + ?city: String?, + ?country: String?, + ?postal_code: String? + ) -> void + + def to_hash: -> { + :address1 => String?, + :address2 => String?, + :address3 => String?, + city: String?, + country: String?, + postal_code: String? + } + end + + type shipping_address = + { + :address1 => String?, + :address2 => String?, + :address3 => String?, + city: String?, + country: String?, + postal_code: String? + } + + class ShippingAddress < Lithic::Internal::Type::BaseModel + attr_accessor address1: String? + + attr_accessor address2: String? + + attr_accessor address3: String? + + attr_accessor city: String? + + attr_accessor country: String? + + attr_accessor postal_code: String? + + def initialize: ( + ?address1: String?, + ?address2: String?, + ?address3: String?, + ?city: String?, + ?country: String?, + ?postal_code: String? + ) -> void + + def to_hash: -> { + :address1 => String?, + :address2 => String?, + :address3 => String?, + city: String?, + country: String?, + postal_code: String? + } + end + end + + type channel = :APP_BASED | :BROWSER | :THREE_DS_REQUESTOR_INITIATED + + module Channel + extend Lithic::Internal::Type::Enum + + APP_BASED: :APP_BASED + BROWSER: :BROWSER + THREE_DS_REQUESTOR_INITIATED: :THREE_DS_REQUESTOR_INITIATED + + def self?.values: -> ::Array[Lithic::Models::ThreeDSAuthentication::channel] + end + + type merchant = + { + risk_indicator: Lithic::ThreeDSAuthentication::Merchant::RiskIndicator, + id: String?, + country: String?, + mcc: String?, + name: String? + } + + class Merchant < Lithic::Internal::Type::BaseModel + attr_accessor risk_indicator: Lithic::ThreeDSAuthentication::Merchant::RiskIndicator + + attr_accessor id: String? + + attr_accessor country: String? + + attr_accessor mcc: String? + + attr_accessor name: String? + + def initialize: ( + risk_indicator: Lithic::ThreeDSAuthentication::Merchant::RiskIndicator, + ?id: String?, + ?country: String?, + ?mcc: String?, + ?name: String? + ) -> void + + def to_hash: -> { + risk_indicator: Lithic::ThreeDSAuthentication::Merchant::RiskIndicator, + id: String?, + country: String?, + mcc: String?, + name: String? + } + + type risk_indicator = + { + delivery_email_address: String?, + delivery_time_frame: Lithic::Models::ThreeDSAuthentication::Merchant::RiskIndicator::delivery_time_frame?, + gift_card_amount: Integer?, + gift_card_count: Integer?, + gift_card_currency: String?, + order_availability: Lithic::Models::ThreeDSAuthentication::Merchant::RiskIndicator::order_availability?, + pre_order_available_date: Time?, + reorder_items: Lithic::Models::ThreeDSAuthentication::Merchant::RiskIndicator::reorder_items?, + shipping_method: Lithic::Models::ThreeDSAuthentication::Merchant::RiskIndicator::shipping_method? + } + + class RiskIndicator < Lithic::Internal::Type::BaseModel + attr_accessor delivery_email_address: String? + + attr_accessor delivery_time_frame: Lithic::Models::ThreeDSAuthentication::Merchant::RiskIndicator::delivery_time_frame? + + attr_accessor gift_card_amount: Integer? + + attr_accessor gift_card_count: Integer? + + attr_accessor gift_card_currency: String? + + attr_accessor order_availability: Lithic::Models::ThreeDSAuthentication::Merchant::RiskIndicator::order_availability? + + attr_accessor pre_order_available_date: Time? + + attr_accessor reorder_items: Lithic::Models::ThreeDSAuthentication::Merchant::RiskIndicator::reorder_items? + + attr_accessor shipping_method: Lithic::Models::ThreeDSAuthentication::Merchant::RiskIndicator::shipping_method? + + def initialize: ( + ?delivery_email_address: String?, + ?delivery_time_frame: Lithic::Models::ThreeDSAuthentication::Merchant::RiskIndicator::delivery_time_frame?, + ?gift_card_amount: Integer?, + ?gift_card_count: Integer?, + ?gift_card_currency: String?, + ?order_availability: Lithic::Models::ThreeDSAuthentication::Merchant::RiskIndicator::order_availability?, + ?pre_order_available_date: Time?, + ?reorder_items: Lithic::Models::ThreeDSAuthentication::Merchant::RiskIndicator::reorder_items?, + ?shipping_method: Lithic::Models::ThreeDSAuthentication::Merchant::RiskIndicator::shipping_method? + ) -> void + + def to_hash: -> { + delivery_email_address: String?, + delivery_time_frame: Lithic::Models::ThreeDSAuthentication::Merchant::RiskIndicator::delivery_time_frame?, + gift_card_amount: Integer?, + gift_card_count: Integer?, + gift_card_currency: String?, + order_availability: Lithic::Models::ThreeDSAuthentication::Merchant::RiskIndicator::order_availability?, + pre_order_available_date: Time?, + reorder_items: Lithic::Models::ThreeDSAuthentication::Merchant::RiskIndicator::reorder_items?, + shipping_method: Lithic::Models::ThreeDSAuthentication::Merchant::RiskIndicator::shipping_method? + } + + type delivery_time_frame = + :ELECTRONIC_DELIVERY + | :OVERNIGHT_SHIPPING + | :SAME_DAY_SHIPPING + | :TWO_DAY_OR_MORE_SHIPPING + + module DeliveryTimeFrame + extend Lithic::Internal::Type::Enum + + ELECTRONIC_DELIVERY: :ELECTRONIC_DELIVERY + OVERNIGHT_SHIPPING: :OVERNIGHT_SHIPPING + SAME_DAY_SHIPPING: :SAME_DAY_SHIPPING + TWO_DAY_OR_MORE_SHIPPING: :TWO_DAY_OR_MORE_SHIPPING + + def self?.values: -> ::Array[Lithic::Models::ThreeDSAuthentication::Merchant::RiskIndicator::delivery_time_frame] + end + + type order_availability = + :FUTURE_AVAILABILITY | :MERCHANDISE_AVAILABLE + + module OrderAvailability + extend Lithic::Internal::Type::Enum + + FUTURE_AVAILABILITY: :FUTURE_AVAILABILITY + MERCHANDISE_AVAILABLE: :MERCHANDISE_AVAILABLE + + def self?.values: -> ::Array[Lithic::Models::ThreeDSAuthentication::Merchant::RiskIndicator::order_availability] + end + + type reorder_items = :FIRST_TIME_ORDERED | :REORDERED + + module ReorderItems + extend Lithic::Internal::Type::Enum + + FIRST_TIME_ORDERED: :FIRST_TIME_ORDERED + REORDERED: :REORDERED + + def self?.values: -> ::Array[Lithic::Models::ThreeDSAuthentication::Merchant::RiskIndicator::reorder_items] + end + + type shipping_method = + :DIGITAL_GOODS + | :LOCKER_DELIVERY + | :OTHER + | :PICK_UP_AND_GO_DELIVERY + | :SHIP_TO_BILLING_ADDRESS + | :SHIP_TO_NON_BILLING_ADDRESS + | :SHIP_TO_OTHER_VERIFIED_ADDRESS + | :SHIP_TO_STORE + | :TRAVEL_AND_EVENT_TICKETS + + module ShippingMethod + extend Lithic::Internal::Type::Enum + + DIGITAL_GOODS: :DIGITAL_GOODS + LOCKER_DELIVERY: :LOCKER_DELIVERY + OTHER: :OTHER + PICK_UP_AND_GO_DELIVERY: :PICK_UP_AND_GO_DELIVERY + SHIP_TO_BILLING_ADDRESS: :SHIP_TO_BILLING_ADDRESS + SHIP_TO_NON_BILLING_ADDRESS: :SHIP_TO_NON_BILLING_ADDRESS + SHIP_TO_OTHER_VERIFIED_ADDRESS: :SHIP_TO_OTHER_VERIFIED_ADDRESS + SHIP_TO_STORE: :SHIP_TO_STORE + TRAVEL_AND_EVENT_TICKETS: :TRAVEL_AND_EVENT_TICKETS + + def self?.values: -> ::Array[Lithic::Models::ThreeDSAuthentication::Merchant::RiskIndicator::shipping_method] + end + end + end + + type message_category = + :NON_PAYMENT_AUTHENTICATION | :PAYMENT_AUTHENTICATION + + module MessageCategory + extend Lithic::Internal::Type::Enum + + NON_PAYMENT_AUTHENTICATION: :NON_PAYMENT_AUTHENTICATION + PAYMENT_AUTHENTICATION: :PAYMENT_AUTHENTICATION + + def self?.values: -> ::Array[Lithic::Models::ThreeDSAuthentication::message_category] + end + + type three_ds_requestor_challenge_indicator = + :NO_PREFERENCE + | :NO_CHALLENGE_REQUESTED + | :CHALLENGE_PREFERENCE + | :CHALLENGE_MANDATE + | :NO_CHALLENGE_RISK_ALREADY_ASSESSED + | :DATA_SHARE_ONLY + | :OTHER + + module ThreeDSRequestorChallengeIndicator + extend Lithic::Internal::Type::Enum + + NO_PREFERENCE: :NO_PREFERENCE + NO_CHALLENGE_REQUESTED: :NO_CHALLENGE_REQUESTED + CHALLENGE_PREFERENCE: :CHALLENGE_PREFERENCE + CHALLENGE_MANDATE: :CHALLENGE_MANDATE + NO_CHALLENGE_RISK_ALREADY_ASSESSED: :NO_CHALLENGE_RISK_ALREADY_ASSESSED + DATA_SHARE_ONLY: :DATA_SHARE_ONLY + OTHER: :OTHER + + def self?.values: -> ::Array[Lithic::Models::ThreeDSAuthentication::three_ds_requestor_challenge_indicator] + end + + type additional_data = + { + network_decision: Lithic::Models::ThreeDSAuthentication::AdditionalData::network_decision?, + network_risk_score: Integer? + } + + class AdditionalData < Lithic::Internal::Type::BaseModel + attr_accessor network_decision: Lithic::Models::ThreeDSAuthentication::AdditionalData::network_decision? + + attr_accessor network_risk_score: Integer? + + def initialize: ( + ?network_decision: Lithic::Models::ThreeDSAuthentication::AdditionalData::network_decision?, + ?network_risk_score: Integer? + ) -> void + + def to_hash: -> { + network_decision: Lithic::Models::ThreeDSAuthentication::AdditionalData::network_decision?, + network_risk_score: Integer? + } + + type network_decision = :LOW_RISK | :NOT_LOW_RISK + + module NetworkDecision + extend Lithic::Internal::Type::Enum + + LOW_RISK: :LOW_RISK + NOT_LOW_RISK: :NOT_LOW_RISK + + def self?.values: -> ::Array[Lithic::Models::ThreeDSAuthentication::AdditionalData::network_decision] + end + end + + type app = + { + device: String?, + device_info: String?, + ip: String, + latitude: Float?, + locale: String?, + longitude: Float?, + os: String?, + platform: String?, + screen_height: Integer?, + screen_width: Integer?, + time_zone: String? + } + + class App < Lithic::Internal::Type::BaseModel + attr_accessor device: String? + + attr_accessor device_info: String? + + attr_reader ip: String? + + def ip=: (String) -> String + + attr_accessor latitude: Float? + + attr_accessor locale: String? + + attr_accessor longitude: Float? + + attr_accessor os: String? + + attr_accessor platform: String? + + attr_accessor screen_height: Integer? + + attr_accessor screen_width: Integer? + + attr_accessor time_zone: String? + + def initialize: ( + ?device: String?, + ?device_info: String?, + ?ip: String, + ?latitude: Float?, + ?locale: String?, + ?longitude: Float?, + ?os: String?, + ?platform: String?, + ?screen_height: Integer?, + ?screen_width: Integer?, + ?time_zone: String? + ) -> void + + def to_hash: -> { + device: String?, + device_info: String?, + ip: String, + latitude: Float?, + locale: String?, + longitude: Float?, + os: String?, + platform: String?, + screen_height: Integer?, + screen_width: Integer?, + time_zone: String? + } + end + + type authentication_request_type = + :ADD_CARD + | :BILLING_AGREEMENT + | :DELAYED_SHIPMENT + | :EMV_TOKEN_CARDHOLDER_VERIFICATION + | :INSTALLMENT_TRANSACTION + | :MAINTAIN_CARD + | :PAYMENT_TRANSACTION + | :RECURRING_TRANSACTION + | :SPLIT_PAYMENT + | :SPLIT_SHIPMENT + + module AuthenticationRequestType + extend Lithic::Internal::Type::Enum + + ADD_CARD: :ADD_CARD + BILLING_AGREEMENT: :BILLING_AGREEMENT + DELAYED_SHIPMENT: :DELAYED_SHIPMENT + EMV_TOKEN_CARDHOLDER_VERIFICATION: :EMV_TOKEN_CARDHOLDER_VERIFICATION + INSTALLMENT_TRANSACTION: :INSTALLMENT_TRANSACTION + MAINTAIN_CARD: :MAINTAIN_CARD + PAYMENT_TRANSACTION: :PAYMENT_TRANSACTION + RECURRING_TRANSACTION: :RECURRING_TRANSACTION + SPLIT_PAYMENT: :SPLIT_PAYMENT + SPLIT_SHIPMENT: :SPLIT_SHIPMENT + + def self?.values: -> ::Array[Lithic::Models::ThreeDSAuthentication::authentication_request_type] + end + + type browser = + { + accept_header: String?, + ip: String?, + java_enabled: bool?, + javascript_enabled: bool?, + language: String?, + time_zone: String?, + user_agent: String? + } + + class Browser < Lithic::Internal::Type::BaseModel + attr_accessor accept_header: String? + + attr_accessor ip: String? + + attr_accessor java_enabled: bool? + + attr_accessor javascript_enabled: bool? + + attr_accessor language: String? + + attr_accessor time_zone: String? + + attr_accessor user_agent: String? + + def initialize: ( + ?accept_header: String?, + ?ip: String?, + ?java_enabled: bool?, + ?javascript_enabled: bool?, + ?language: String?, + ?time_zone: String?, + ?user_agent: String? + ) -> void + + def to_hash: -> { + accept_header: String?, + ip: String?, + java_enabled: bool?, + javascript_enabled: bool?, + language: String?, + time_zone: String?, + user_agent: String? + } + end + + type challenge_metadata = + { + method_type: Lithic::Models::ThreeDSAuthentication::ChallengeMetadata::method_type, + status: Lithic::Models::ThreeDSAuthentication::ChallengeMetadata::status, + phone_number: String? + } + + class ChallengeMetadata < Lithic::Internal::Type::BaseModel + attr_accessor method_type: Lithic::Models::ThreeDSAuthentication::ChallengeMetadata::method_type + + attr_accessor status: Lithic::Models::ThreeDSAuthentication::ChallengeMetadata::status + + attr_accessor phone_number: String? + + def initialize: ( + method_type: Lithic::Models::ThreeDSAuthentication::ChallengeMetadata::method_type, + status: Lithic::Models::ThreeDSAuthentication::ChallengeMetadata::status, + ?phone_number: String? + ) -> void + + def to_hash: -> { + method_type: Lithic::Models::ThreeDSAuthentication::ChallengeMetadata::method_type, + status: Lithic::Models::ThreeDSAuthentication::ChallengeMetadata::status, + phone_number: String? + } + + type method_type = :SMS_OTP | :OUT_OF_BAND + + module MethodType + extend Lithic::Internal::Type::Enum + + SMS_OTP: :SMS_OTP + OUT_OF_BAND: :OUT_OF_BAND + + def self?.values: -> ::Array[Lithic::Models::ThreeDSAuthentication::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::ThreeDSAuthentication::ChallengeMetadata::status] + end + end + + type challenge_orchestrated_by = :LITHIC | :CUSTOMER | :NO_CHALLENGE + + module ChallengeOrchestratedBy + extend Lithic::Internal::Type::Enum + + LITHIC: :LITHIC + CUSTOMER: :CUSTOMER + NO_CHALLENGE: :NO_CHALLENGE + + def self?.values: -> ::Array[Lithic::Models::ThreeDSAuthentication::challenge_orchestrated_by] + end + + type decision_made_by = + :LITHIC_RULES + | :LITHIC_DEFAULT + | :CUSTOMER_RULES + | :CUSTOMER_ENDPOINT + | :NETWORK + | :UNKNOWN + + module DecisionMadeBy + extend Lithic::Internal::Type::Enum + + LITHIC_RULES: :LITHIC_RULES + LITHIC_DEFAULT: :LITHIC_DEFAULT + CUSTOMER_RULES: :CUSTOMER_RULES + CUSTOMER_ENDPOINT: :CUSTOMER_ENDPOINT + NETWORK: :NETWORK + UNKNOWN: :UNKNOWN + + def self?.values: -> ::Array[Lithic::Models::ThreeDSAuthentication::decision_made_by] + end + + type three_ri_request_type = + :ACCOUNT_VERIFICATION + | :ADD_CARD + | :BILLING_AGREEMENT + | :CARD_SECURITY_CODE_STATUS_CHECK + | :DELAYED_SHIPMENT + | :DEVICE_BINDING_STATUS_CHECK + | :INSTALLMENT_TRANSACTION + | :MAIL_ORDER + | :MAINTAIN_CARD_INFO + | :OTHER_PAYMENT + | :RECURRING_TRANSACTION + | :SPLIT_PAYMENT + | :SPLIT_SHIPMENT + | :TELEPHONE_ORDER + | :TOP_UP + | :TRUST_LIST_STATUS_CHECK + + module ThreeRiRequestType + extend Lithic::Internal::Type::Enum + + ACCOUNT_VERIFICATION: :ACCOUNT_VERIFICATION + ADD_CARD: :ADD_CARD + BILLING_AGREEMENT: :BILLING_AGREEMENT + CARD_SECURITY_CODE_STATUS_CHECK: :CARD_SECURITY_CODE_STATUS_CHECK + DELAYED_SHIPMENT: :DELAYED_SHIPMENT + DEVICE_BINDING_STATUS_CHECK: :DEVICE_BINDING_STATUS_CHECK + INSTALLMENT_TRANSACTION: :INSTALLMENT_TRANSACTION + MAIL_ORDER: :MAIL_ORDER + MAINTAIN_CARD_INFO: :MAINTAIN_CARD_INFO + OTHER_PAYMENT: :OTHER_PAYMENT + RECURRING_TRANSACTION: :RECURRING_TRANSACTION + SPLIT_PAYMENT: :SPLIT_PAYMENT + SPLIT_SHIPMENT: :SPLIT_SHIPMENT + TELEPHONE_ORDER: :TELEPHONE_ORDER + TOP_UP: :TOP_UP + TRUST_LIST_STATUS_CHECK: :TRUST_LIST_STATUS_CHECK + + def self?.values: -> ::Array[Lithic::Models::ThreeDSAuthentication::three_ri_request_type] + end + + type transaction = + { + amount: Float, + cardholder_amount: Float?, + currency: String, + currency_exponent: Float, + date_time: Time, + type: Lithic::Models::ThreeDSAuthentication::Transaction::type_? + } + + class Transaction < Lithic::Internal::Type::BaseModel + attr_accessor amount: Float + + attr_accessor cardholder_amount: Float? + + attr_accessor currency: String + + attr_accessor currency_exponent: Float + + attr_accessor date_time: Time + + attr_accessor type: Lithic::Models::ThreeDSAuthentication::Transaction::type_? + + def initialize: ( + amount: Float, + cardholder_amount: Float?, + currency: String, + currency_exponent: Float, + date_time: Time, + type: Lithic::Models::ThreeDSAuthentication::Transaction::type_? + ) -> void + + def to_hash: -> { + amount: Float, + cardholder_amount: Float?, + currency: String, + currency_exponent: Float, + date_time: Time, + type: Lithic::Models::ThreeDSAuthentication::Transaction::type_? + } + + type type_ = + :ACCOUNT_FUNDING + | :CHECK_ACCEPTANCE + | :GOODS_SERVICE_PURCHASE + | :PREPAID_ACTIVATION_AND_LOAD + | :QUASI_CASH_TRANSACTION + + module Type + extend Lithic::Internal::Type::Enum + + ACCOUNT_FUNDING: :ACCOUNT_FUNDING + CHECK_ACCEPTANCE: :CHECK_ACCEPTANCE + GOODS_SERVICE_PURCHASE: :GOODS_SERVICE_PURCHASE + PREPAID_ACTIVATION_AND_LOAD: :PREPAID_ACTIVATION_AND_LOAD + QUASI_CASH_TRANSACTION: :QUASI_CASH_TRANSACTION + + def self?.values: -> ::Array[Lithic::Models::ThreeDSAuthentication::Transaction::type_] + end + end + end + end +end diff --git a/sig/lithic/models/token_info.rbs b/sig/lithic/models/token_info.rbs new file mode 100644 index 00000000..fe1e8b66 --- /dev/null +++ b/sig/lithic/models/token_info.rbs @@ -0,0 +1,36 @@ +module Lithic + module Models + type token_info = { wallet_type: Lithic::Models::TokenInfo::wallet_type } + + class TokenInfo < Lithic::Internal::Type::BaseModel + attr_accessor wallet_type: Lithic::Models::TokenInfo::wallet_type + + def initialize: ( + wallet_type: Lithic::Models::TokenInfo::wallet_type + ) -> void + + def to_hash: -> { wallet_type: Lithic::Models::TokenInfo::wallet_type } + + type wallet_type = + :APPLE_PAY + | :GOOGLE_PAY + | :MASTERPASS + | :MERCHANT + | :OTHER + | :SAMSUNG_PAY + + module WalletType + extend Lithic::Internal::Type::Enum + + APPLE_PAY: :APPLE_PAY + GOOGLE_PAY: :GOOGLE_PAY + MASTERPASS: :MASTERPASS + MERCHANT: :MERCHANT + OTHER: :OTHER + SAMSUNG_PAY: :SAMSUNG_PAY + + def self?.values: -> ::Array[Lithic::Models::TokenInfo::wallet_type] + end + end + end +end diff --git a/sig/lithic/models/tokenization.rbs b/sig/lithic/models/tokenization.rbs index 7fe74b17..75bdc3b7 100644 --- a/sig/lithic/models/tokenization.rbs +++ b/sig/lithic/models/tokenization.rbs @@ -158,9 +158,9 @@ module Lithic token: String, created_at: Time, result: Lithic::Models::Tokenization::Event::result, - rule_results: ::Array[Lithic::Tokenization::Event::RuleResult], - tokenization_decline_reasons: ::Array[Lithic::Models::Tokenization::Event::tokenization_decline_reason], - tokenization_tfa_reasons: ::Array[Lithic::Models::Tokenization::Event::tokenization_tfa_reason], + rule_results: ::Array[Lithic::TokenizationRuleResult], + tokenization_decline_reasons: ::Array[Lithic::Models::tokenization_decline_reason], + tokenization_tfa_reasons: ::Array[Lithic::Models::tokenization_tfa_reason], type: Lithic::Models::Tokenization::Event::type_ } @@ -179,23 +179,23 @@ module Lithic Lithic::Models::Tokenization::Event::result ) -> Lithic::Models::Tokenization::Event::result - attr_reader rule_results: ::Array[Lithic::Tokenization::Event::RuleResult]? + attr_reader rule_results: ::Array[Lithic::TokenizationRuleResult]? def rule_results=: ( - ::Array[Lithic::Tokenization::Event::RuleResult] - ) -> ::Array[Lithic::Tokenization::Event::RuleResult] + ::Array[Lithic::TokenizationRuleResult] + ) -> ::Array[Lithic::TokenizationRuleResult] - attr_reader tokenization_decline_reasons: ::Array[Lithic::Models::Tokenization::Event::tokenization_decline_reason]? + attr_reader tokenization_decline_reasons: ::Array[Lithic::Models::tokenization_decline_reason]? def tokenization_decline_reasons=: ( - ::Array[Lithic::Models::Tokenization::Event::tokenization_decline_reason] - ) -> ::Array[Lithic::Models::Tokenization::Event::tokenization_decline_reason] + ::Array[Lithic::Models::tokenization_decline_reason] + ) -> ::Array[Lithic::Models::tokenization_decline_reason] - attr_reader tokenization_tfa_reasons: ::Array[Lithic::Models::Tokenization::Event::tokenization_tfa_reason]? + attr_reader tokenization_tfa_reasons: ::Array[Lithic::Models::tokenization_tfa_reason]? def tokenization_tfa_reasons=: ( - ::Array[Lithic::Models::Tokenization::Event::tokenization_tfa_reason] - ) -> ::Array[Lithic::Models::Tokenization::Event::tokenization_tfa_reason] + ::Array[Lithic::Models::tokenization_tfa_reason] + ) -> ::Array[Lithic::Models::tokenization_tfa_reason] attr_reader type: Lithic::Models::Tokenization::Event::type_? @@ -207,9 +207,9 @@ module Lithic ?token: String, ?created_at: Time, ?result: Lithic::Models::Tokenization::Event::result, - ?rule_results: ::Array[Lithic::Tokenization::Event::RuleResult], - ?tokenization_decline_reasons: ::Array[Lithic::Models::Tokenization::Event::tokenization_decline_reason], - ?tokenization_tfa_reasons: ::Array[Lithic::Models::Tokenization::Event::tokenization_tfa_reason], + ?rule_results: ::Array[Lithic::TokenizationRuleResult], + ?tokenization_decline_reasons: ::Array[Lithic::Models::tokenization_decline_reason], + ?tokenization_tfa_reasons: ::Array[Lithic::Models::tokenization_tfa_reason], ?type: Lithic::Models::Tokenization::Event::type_ ) -> void @@ -217,9 +217,9 @@ module Lithic token: String, created_at: Time, result: Lithic::Models::Tokenization::Event::result, - rule_results: ::Array[Lithic::Tokenization::Event::RuleResult], - tokenization_decline_reasons: ::Array[Lithic::Models::Tokenization::Event::tokenization_decline_reason], - tokenization_tfa_reasons: ::Array[Lithic::Models::Tokenization::Event::tokenization_tfa_reason], + rule_results: ::Array[Lithic::TokenizationRuleResult], + tokenization_decline_reasons: ::Array[Lithic::Models::tokenization_decline_reason], + tokenization_tfa_reasons: ::Array[Lithic::Models::tokenization_tfa_reason], type: Lithic::Models::Tokenization::Event::type_ } @@ -256,125 +256,6 @@ module Lithic def self?.values: -> ::Array[Lithic::Models::Tokenization::Event::result] end - type rule_result = - { - auth_rule_token: String?, - explanation: String?, - name: String?, - result: Lithic::Models::Tokenization::Event::RuleResult::result - } - - class RuleResult < Lithic::Internal::Type::BaseModel - attr_accessor auth_rule_token: String? - - attr_accessor explanation: String? - - attr_accessor name: String? - - attr_accessor result: Lithic::Models::Tokenization::Event::RuleResult::result - - def initialize: ( - auth_rule_token: String?, - explanation: String?, - name: String?, - result: Lithic::Models::Tokenization::Event::RuleResult::result - ) -> void - - def to_hash: -> { - auth_rule_token: String?, - explanation: String?, - name: String?, - result: Lithic::Models::Tokenization::Event::RuleResult::result - } - - type result = :APPROVED | :DECLINED | :REQUIRE_TFA | :ERROR - - module Result - extend Lithic::Internal::Type::Enum - - APPROVED: :APPROVED - DECLINED: :DECLINED - REQUIRE_TFA: :REQUIRE_TFA - ERROR: :ERROR - - def self?.values: -> ::Array[Lithic::Models::Tokenization::Event::RuleResult::result] - end - end - - type tokenization_decline_reason = - :ACCOUNT_SCORE_1 - | :DEVICE_SCORE_1 - | :ALL_WALLET_DECLINE_REASONS_PRESENT - | :WALLET_RECOMMENDED_DECISION_RED - | :CVC_MISMATCH - | :CARD_EXPIRY_MONTH_MISMATCH - | :CARD_EXPIRY_YEAR_MISMATCH - | :CARD_INVALID_STATE - | :CUSTOMER_RED_PATH - | :INVALID_CUSTOMER_RESPONSE - | :NETWORK_FAILURE - | :GENERIC_DECLINE - | :DIGITAL_CARD_ART_REQUIRED - - module TokenizationDeclineReason - extend Lithic::Internal::Type::Enum - - ACCOUNT_SCORE_1: :ACCOUNT_SCORE_1 - DEVICE_SCORE_1: :DEVICE_SCORE_1 - ALL_WALLET_DECLINE_REASONS_PRESENT: :ALL_WALLET_DECLINE_REASONS_PRESENT - WALLET_RECOMMENDED_DECISION_RED: :WALLET_RECOMMENDED_DECISION_RED - CVC_MISMATCH: :CVC_MISMATCH - CARD_EXPIRY_MONTH_MISMATCH: :CARD_EXPIRY_MONTH_MISMATCH - CARD_EXPIRY_YEAR_MISMATCH: :CARD_EXPIRY_YEAR_MISMATCH - CARD_INVALID_STATE: :CARD_INVALID_STATE - CUSTOMER_RED_PATH: :CUSTOMER_RED_PATH - INVALID_CUSTOMER_RESPONSE: :INVALID_CUSTOMER_RESPONSE - NETWORK_FAILURE: :NETWORK_FAILURE - GENERIC_DECLINE: :GENERIC_DECLINE - DIGITAL_CARD_ART_REQUIRED: :DIGITAL_CARD_ART_REQUIRED - - def self?.values: -> ::Array[Lithic::Models::Tokenization::Event::tokenization_decline_reason] - end - - type tokenization_tfa_reason = - :WALLET_RECOMMENDED_TFA - | :SUSPICIOUS_ACTIVITY - | :DEVICE_RECENTLY_LOST - | :TOO_MANY_RECENT_ATTEMPTS - | :TOO_MANY_RECENT_TOKENS - | :TOO_MANY_DIFFERENT_CARDHOLDERS - | :OUTSIDE_HOME_TERRITORY - | :HAS_SUSPENDED_TOKENS - | :HIGH_RISK - | :ACCOUNT_SCORE_LOW - | :DEVICE_SCORE_LOW - | :CARD_STATE_TFA - | :HARDCODED_TFA - | :CUSTOMER_RULE_TFA - | :DEVICE_HOST_CARD_EMULATION - - module TokenizationTfaReason - extend Lithic::Internal::Type::Enum - - WALLET_RECOMMENDED_TFA: :WALLET_RECOMMENDED_TFA - SUSPICIOUS_ACTIVITY: :SUSPICIOUS_ACTIVITY - DEVICE_RECENTLY_LOST: :DEVICE_RECENTLY_LOST - TOO_MANY_RECENT_ATTEMPTS: :TOO_MANY_RECENT_ATTEMPTS - TOO_MANY_RECENT_TOKENS: :TOO_MANY_RECENT_TOKENS - TOO_MANY_DIFFERENT_CARDHOLDERS: :TOO_MANY_DIFFERENT_CARDHOLDERS - OUTSIDE_HOME_TERRITORY: :OUTSIDE_HOME_TERRITORY - HAS_SUSPENDED_TOKENS: :HAS_SUSPENDED_TOKENS - HIGH_RISK: :HIGH_RISK - ACCOUNT_SCORE_LOW: :ACCOUNT_SCORE_LOW - DEVICE_SCORE_LOW: :DEVICE_SCORE_LOW - CARD_STATE_TFA: :CARD_STATE_TFA - HARDCODED_TFA: :HARDCODED_TFA - CUSTOMER_RULE_TFA: :CUSTOMER_RULE_TFA - DEVICE_HOST_CARD_EMULATION: :DEVICE_HOST_CARD_EMULATION - - def self?.values: -> ::Array[Lithic::Models::Tokenization::Event::tokenization_tfa_reason] - end - type type_ = :TOKENIZATION_2FA | :TOKENIZATION_AUTHORIZATION diff --git a/sig/lithic/models/tokenization_decline_reason.rbs b/sig/lithic/models/tokenization_decline_reason.rbs new file mode 100644 index 00000000..d4f5d7d5 --- /dev/null +++ b/sig/lithic/models/tokenization_decline_reason.rbs @@ -0,0 +1,38 @@ +module Lithic + module Models + type tokenization_decline_reason = + :ACCOUNT_SCORE_1 + | :DEVICE_SCORE_1 + | :ALL_WALLET_DECLINE_REASONS_PRESENT + | :WALLET_RECOMMENDED_DECISION_RED + | :CVC_MISMATCH + | :CARD_EXPIRY_MONTH_MISMATCH + | :CARD_EXPIRY_YEAR_MISMATCH + | :CARD_INVALID_STATE + | :CUSTOMER_RED_PATH + | :INVALID_CUSTOMER_RESPONSE + | :NETWORK_FAILURE + | :GENERIC_DECLINE + | :DIGITAL_CARD_ART_REQUIRED + + module TokenizationDeclineReason + extend Lithic::Internal::Type::Enum + + ACCOUNT_SCORE_1: :ACCOUNT_SCORE_1 + DEVICE_SCORE_1: :DEVICE_SCORE_1 + ALL_WALLET_DECLINE_REASONS_PRESENT: :ALL_WALLET_DECLINE_REASONS_PRESENT + WALLET_RECOMMENDED_DECISION_RED: :WALLET_RECOMMENDED_DECISION_RED + CVC_MISMATCH: :CVC_MISMATCH + CARD_EXPIRY_MONTH_MISMATCH: :CARD_EXPIRY_MONTH_MISMATCH + CARD_EXPIRY_YEAR_MISMATCH: :CARD_EXPIRY_YEAR_MISMATCH + CARD_INVALID_STATE: :CARD_INVALID_STATE + CUSTOMER_RED_PATH: :CUSTOMER_RED_PATH + INVALID_CUSTOMER_RESPONSE: :INVALID_CUSTOMER_RESPONSE + NETWORK_FAILURE: :NETWORK_FAILURE + GENERIC_DECLINE: :GENERIC_DECLINE + DIGITAL_CARD_ART_REQUIRED: :DIGITAL_CARD_ART_REQUIRED + + def self?.values: -> ::Array[Lithic::Models::tokenization_decline_reason] + end + end +end diff --git a/sig/lithic/models/tokenization_rule_result.rbs b/sig/lithic/models/tokenization_rule_result.rbs new file mode 100644 index 00000000..24050ab5 --- /dev/null +++ b/sig/lithic/models/tokenization_rule_result.rbs @@ -0,0 +1,48 @@ +module Lithic + module Models + type tokenization_rule_result = + { + auth_rule_token: String?, + explanation: String?, + name: String?, + result: Lithic::Models::TokenizationRuleResult::result + } + + class TokenizationRuleResult < Lithic::Internal::Type::BaseModel + attr_accessor auth_rule_token: String? + + attr_accessor explanation: String? + + attr_accessor name: String? + + attr_accessor result: Lithic::Models::TokenizationRuleResult::result + + def initialize: ( + auth_rule_token: String?, + explanation: String?, + name: String?, + result: Lithic::Models::TokenizationRuleResult::result + ) -> void + + def to_hash: -> { + auth_rule_token: String?, + explanation: String?, + name: String?, + result: Lithic::Models::TokenizationRuleResult::result + } + + type result = :APPROVED | :DECLINED | :REQUIRE_TFA | :ERROR + + module Result + extend Lithic::Internal::Type::Enum + + APPROVED: :APPROVED + DECLINED: :DECLINED + REQUIRE_TFA: :REQUIRE_TFA + ERROR: :ERROR + + def self?.values: -> ::Array[Lithic::Models::TokenizationRuleResult::result] + end + end + end +end diff --git a/sig/lithic/models/tokenization_simulate_response.rbs b/sig/lithic/models/tokenization_simulate_response.rbs deleted file mode 100644 index 8211c5fc..00000000 --- a/sig/lithic/models/tokenization_simulate_response.rbs +++ /dev/null @@ -1,18 +0,0 @@ -module Lithic - module Models - type tokenization_simulate_response = - { data: ::Array[Lithic::Tokenization] } - - class TokenizationSimulateResponse < Lithic::Internal::Type::BaseModel - attr_reader data: ::Array[Lithic::Tokenization]? - - def data=: ( - ::Array[Lithic::Tokenization] - ) -> ::Array[Lithic::Tokenization] - - def initialize: (?data: ::Array[Lithic::Tokenization]) -> void - - def to_hash: -> { data: ::Array[Lithic::Tokenization] } - end - end -end diff --git a/sig/lithic/models/tokenization_tfa_reason.rbs b/sig/lithic/models/tokenization_tfa_reason.rbs new file mode 100644 index 00000000..d59a63f2 --- /dev/null +++ b/sig/lithic/models/tokenization_tfa_reason.rbs @@ -0,0 +1,42 @@ +module Lithic + module Models + type tokenization_tfa_reason = + :WALLET_RECOMMENDED_TFA + | :SUSPICIOUS_ACTIVITY + | :DEVICE_RECENTLY_LOST + | :TOO_MANY_RECENT_ATTEMPTS + | :TOO_MANY_RECENT_TOKENS + | :TOO_MANY_DIFFERENT_CARDHOLDERS + | :OUTSIDE_HOME_TERRITORY + | :HAS_SUSPENDED_TOKENS + | :HIGH_RISK + | :ACCOUNT_SCORE_LOW + | :DEVICE_SCORE_LOW + | :CARD_STATE_TFA + | :HARDCODED_TFA + | :CUSTOMER_RULE_TFA + | :DEVICE_HOST_CARD_EMULATION + + module TokenizationTfaReason + extend Lithic::Internal::Type::Enum + + WALLET_RECOMMENDED_TFA: :WALLET_RECOMMENDED_TFA + SUSPICIOUS_ACTIVITY: :SUSPICIOUS_ACTIVITY + DEVICE_RECENTLY_LOST: :DEVICE_RECENTLY_LOST + TOO_MANY_RECENT_ATTEMPTS: :TOO_MANY_RECENT_ATTEMPTS + TOO_MANY_RECENT_TOKENS: :TOO_MANY_RECENT_TOKENS + TOO_MANY_DIFFERENT_CARDHOLDERS: :TOO_MANY_DIFFERENT_CARDHOLDERS + OUTSIDE_HOME_TERRITORY: :OUTSIDE_HOME_TERRITORY + HAS_SUSPENDED_TOKENS: :HAS_SUSPENDED_TOKENS + HIGH_RISK: :HIGH_RISK + ACCOUNT_SCORE_LOW: :ACCOUNT_SCORE_LOW + DEVICE_SCORE_LOW: :DEVICE_SCORE_LOW + CARD_STATE_TFA: :CARD_STATE_TFA + HARDCODED_TFA: :HARDCODED_TFA + CUSTOMER_RULE_TFA: :CUSTOMER_RULE_TFA + DEVICE_HOST_CARD_EMULATION: :DEVICE_HOST_CARD_EMULATION + + def self?.values: -> ::Array[Lithic::Models::tokenization_tfa_reason] + end + end +end diff --git a/sig/lithic/models/tokenization_update_digital_card_art_response.rbs b/sig/lithic/models/tokenization_update_digital_card_art_response.rbs deleted file mode 100644 index 87b3016f..00000000 --- a/sig/lithic/models/tokenization_update_digital_card_art_response.rbs +++ /dev/null @@ -1,16 +0,0 @@ -module Lithic - module Models - type tokenization_update_digital_card_art_response = - { data: Lithic::Tokenization } - - class TokenizationUpdateDigitalCardArtResponse < 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/models/transaction.rbs b/sig/lithic/models/transaction.rbs index a0c19cd1..e66da2b0 100644 --- a/sig/lithic/models/transaction.rbs +++ b/sig/lithic/models/transaction.rbs @@ -12,7 +12,7 @@ module Lithic authorization_code: String?, avs: Lithic::Transaction::Avs?, card_token: String, - cardholder_authentication: Lithic::Transaction::CardholderAuthentication?, + cardholder_authentication: Lithic::CardholderAuthentication?, created: Time, financial_account_token: String?, merchant: Lithic::Merchant, @@ -25,7 +25,7 @@ module Lithic result: Lithic::Models::Transaction::result, settled_amount: Integer, status: Lithic::Models::Transaction::status, - token_info: Lithic::Transaction::TokenInfo?, + token_info: Lithic::TokenInfo?, updated: Time, events: ::Array[Lithic::Transaction::Event] } @@ -51,7 +51,7 @@ module Lithic attr_accessor card_token: String - attr_accessor cardholder_authentication: Lithic::Transaction::CardholderAuthentication? + attr_accessor cardholder_authentication: Lithic::CardholderAuthentication? attr_accessor created: Time @@ -77,7 +77,7 @@ module Lithic attr_accessor status: Lithic::Models::Transaction::status - attr_accessor token_info: Lithic::Transaction::TokenInfo? + attr_accessor token_info: Lithic::TokenInfo? attr_accessor updated: Time @@ -98,7 +98,7 @@ module Lithic authorization_code: String?, avs: Lithic::Transaction::Avs?, card_token: String, - cardholder_authentication: Lithic::Transaction::CardholderAuthentication?, + cardholder_authentication: Lithic::CardholderAuthentication?, created: Time, financial_account_token: String?, merchant: Lithic::Merchant, @@ -111,7 +111,7 @@ module Lithic result: Lithic::Models::Transaction::result, settled_amount: Integer, status: Lithic::Models::Transaction::status, - token_info: Lithic::Transaction::TokenInfo?, + token_info: Lithic::TokenInfo?, updated: Time, ?events: ::Array[Lithic::Transaction::Event] ) -> void @@ -127,7 +127,7 @@ module Lithic authorization_code: String?, avs: Lithic::Transaction::Avs?, card_token: String, - cardholder_authentication: Lithic::Transaction::CardholderAuthentication?, + cardholder_authentication: Lithic::CardholderAuthentication?, created: Time, financial_account_token: String?, merchant: Lithic::Merchant, @@ -140,7 +140,7 @@ module Lithic result: Lithic::Models::Transaction::result, settled_amount: Integer, status: Lithic::Models::Transaction::status, - token_info: Lithic::Transaction::TokenInfo?, + token_info: Lithic::TokenInfo?, updated: Time, events: ::Array[Lithic::Transaction::Event] } @@ -248,102 +248,6 @@ module Lithic def to_hash: -> { address: String, zipcode: String } end - type cardholder_authentication = - { - authentication_method: Lithic::Models::Transaction::CardholderAuthentication::authentication_method, - authentication_result: Lithic::Models::Transaction::CardholderAuthentication::authentication_result, - decision_made_by: Lithic::Models::Transaction::CardholderAuthentication::decision_made_by, - liability_shift: Lithic::Models::Transaction::CardholderAuthentication::liability_shift, - three_ds_authentication_token: String? - } - - class CardholderAuthentication < Lithic::Internal::Type::BaseModel - attr_accessor authentication_method: Lithic::Models::Transaction::CardholderAuthentication::authentication_method - - attr_accessor authentication_result: Lithic::Models::Transaction::CardholderAuthentication::authentication_result - - attr_accessor decision_made_by: Lithic::Models::Transaction::CardholderAuthentication::decision_made_by - - attr_accessor liability_shift: Lithic::Models::Transaction::CardholderAuthentication::liability_shift - - attr_accessor three_ds_authentication_token: String? - - def initialize: ( - authentication_method: Lithic::Models::Transaction::CardholderAuthentication::authentication_method, - authentication_result: Lithic::Models::Transaction::CardholderAuthentication::authentication_result, - decision_made_by: Lithic::Models::Transaction::CardholderAuthentication::decision_made_by, - liability_shift: Lithic::Models::Transaction::CardholderAuthentication::liability_shift, - three_ds_authentication_token: String? - ) -> void - - def to_hash: -> { - authentication_method: Lithic::Models::Transaction::CardholderAuthentication::authentication_method, - authentication_result: Lithic::Models::Transaction::CardholderAuthentication::authentication_result, - decision_made_by: Lithic::Models::Transaction::CardholderAuthentication::decision_made_by, - liability_shift: Lithic::Models::Transaction::CardholderAuthentication::liability_shift, - three_ds_authentication_token: String? - } - - type authentication_method = :FRICTIONLESS | :CHALLENGE | :NONE - - module AuthenticationMethod - extend Lithic::Internal::Type::Enum - - FRICTIONLESS: :FRICTIONLESS - CHALLENGE: :CHALLENGE - NONE: :NONE - - def self?.values: -> ::Array[Lithic::Models::Transaction::CardholderAuthentication::authentication_method] - end - - type authentication_result = :ATTEMPTS | :DECLINE | :NONE | :SUCCESS - - module AuthenticationResult - extend Lithic::Internal::Type::Enum - - ATTEMPTS: :ATTEMPTS - DECLINE: :DECLINE - NONE: :NONE - SUCCESS: :SUCCESS - - def self?.values: -> ::Array[Lithic::Models::Transaction::CardholderAuthentication::authentication_result] - end - - type decision_made_by = - :CUSTOMER_RULES - | :CUSTOMER_ENDPOINT - | :LITHIC_DEFAULT - | :LITHIC_RULES - | :NETWORK - | :UNKNOWN - - module DecisionMadeBy - extend Lithic::Internal::Type::Enum - - CUSTOMER_RULES: :CUSTOMER_RULES - CUSTOMER_ENDPOINT: :CUSTOMER_ENDPOINT - LITHIC_DEFAULT: :LITHIC_DEFAULT - LITHIC_RULES: :LITHIC_RULES - NETWORK: :NETWORK - UNKNOWN: :UNKNOWN - - def self?.values: -> ::Array[Lithic::Models::Transaction::CardholderAuthentication::decision_made_by] - end - - type liability_shift = - :"3DS_AUTHENTICATED" | :TOKEN_AUTHENTICATED | :NONE - - module LiabilityShift - extend Lithic::Internal::Type::Enum - - LIABILITY_SHIFT_3DS_AUTHENTICATED: :"3DS_AUTHENTICATED" - TOKEN_AUTHENTICATED: :TOKEN_AUTHENTICATED - NONE: :NONE - - def self?.values: -> ::Array[Lithic::Models::Transaction::CardholderAuthentication::liability_shift] - end - end - type network = :AMEX | :INTERLINK | :MAESTRO | :MASTERCARD | :UNKNOWN | :VISA @@ -705,42 +609,6 @@ module Lithic def self?.values: -> ::Array[Lithic::Models::Transaction::status] end - type token_info = - { wallet_type: Lithic::Models::Transaction::TokenInfo::wallet_type } - - class TokenInfo < Lithic::Internal::Type::BaseModel - attr_accessor wallet_type: Lithic::Models::Transaction::TokenInfo::wallet_type - - def initialize: ( - wallet_type: Lithic::Models::Transaction::TokenInfo::wallet_type - ) -> void - - def to_hash: -> { - wallet_type: Lithic::Models::Transaction::TokenInfo::wallet_type - } - - type wallet_type = - :APPLE_PAY - | :GOOGLE_PAY - | :MASTERPASS - | :MERCHANT - | :OTHER - | :SAMSUNG_PAY - - module WalletType - extend Lithic::Internal::Type::Enum - - APPLE_PAY: :APPLE_PAY - GOOGLE_PAY: :GOOGLE_PAY - MASTERPASS: :MASTERPASS - MERCHANT: :MERCHANT - OTHER: :OTHER - SAMSUNG_PAY: :SAMSUNG_PAY - - def self?.values: -> ::Array[Lithic::Models::Transaction::TokenInfo::wallet_type] - end - end - type event = { token: String, diff --git a/sig/lithic/models/wallet_decisioning_info.rbs b/sig/lithic/models/wallet_decisioning_info.rbs new file mode 100644 index 00000000..a83a6f6d --- /dev/null +++ b/sig/lithic/models/wallet_decisioning_info.rbs @@ -0,0 +1,35 @@ +module Lithic + module Models + type wallet_decisioning_info = + { + account_score: String?, + device_score: String?, + recommended_decision: String?, + recommendation_reasons: ::Array[String]? + } + + class WalletDecisioningInfo < Lithic::Internal::Type::BaseModel + attr_accessor account_score: String? + + attr_accessor device_score: String? + + attr_accessor recommended_decision: String? + + attr_accessor recommendation_reasons: ::Array[String]? + + def initialize: ( + account_score: String?, + device_score: String?, + recommended_decision: String?, + ?recommendation_reasons: ::Array[String]? + ) -> void + + def to_hash: -> { + account_score: String?, + device_score: String?, + recommended_decision: String?, + recommendation_reasons: ::Array[String]? + } + end + end +end diff --git a/sig/lithic/resources/auth_rules/v2.rbs b/sig/lithic/resources/auth_rules/v2.rbs index 1ac543a9..3938a0d1 100644 --- a/sig/lithic/resources/auth_rules/v2.rbs +++ b/sig/lithic/resources/auth_rules/v2.rbs @@ -11,16 +11,16 @@ module Lithic program_level: bool, ?account_tokens: ::Array[String], ?business_account_tokens: ::Array[String], - ?event_stream: Lithic::Models::AuthRules::V2CreateParams::event_stream, + ?event_stream: Lithic::Models::AuthRules::event_stream, ?name: String?, ?excluded_card_tokens: ::Array[String], ?request_options: Lithic::request_opts - ) -> Lithic::Models::AuthRules::V2CreateResponse + ) -> Lithic::AuthRules::AuthRule def retrieve: ( String auth_rule_token, ?request_options: Lithic::request_opts - ) -> Lithic::Models::AuthRules::V2RetrieveResponse + ) -> Lithic::AuthRules::AuthRule def update: ( String auth_rule_token, @@ -32,19 +32,20 @@ module Lithic ?excluded_card_tokens: ::Array[String], ?program_level: bool, ?request_options: Lithic::request_opts - ) -> Lithic::Models::AuthRules::V2UpdateResponse + ) -> Lithic::AuthRules::AuthRule def list: ( ?account_token: String, ?business_account_token: String, ?card_token: String, ?ending_before: String, - ?event_stream: Lithic::Models::AuthRules::V2ListParams::event_stream, + ?event_stream: Lithic::Models::AuthRules::event_stream, + ?event_streams: ::Array[Lithic::Models::AuthRules::event_stream], ?page_size: Integer, ?scope: Lithic::Models::AuthRules::V2ListParams::scope, ?starting_after: String, ?request_options: Lithic::request_opts - ) -> Lithic::Internal::CursorPage[Lithic::Models::AuthRules::V2ListResponse] + ) -> Lithic::Internal::CursorPage[Lithic::AuthRules::AuthRule] def delete: ( String auth_rule_token, @@ -55,12 +56,12 @@ module Lithic String auth_rule_token, ?parameters: Lithic::Models::AuthRules::V2DraftParams::parameters?, ?request_options: Lithic::request_opts - ) -> Lithic::Models::AuthRules::V2DraftResponse + ) -> Lithic::AuthRules::AuthRule def promote: ( String auth_rule_token, ?request_options: Lithic::request_opts - ) -> Lithic::Models::AuthRules::V2PromoteResponse + ) -> Lithic::AuthRules::AuthRule def retrieve_features: ( String auth_rule_token, diff --git a/sig/lithic/resources/card_bulk_orders.rbs b/sig/lithic/resources/card_bulk_orders.rbs new file mode 100644 index 00000000..4936d985 --- /dev/null +++ b/sig/lithic/resources/card_bulk_orders.rbs @@ -0,0 +1,34 @@ +module Lithic + module Resources + class CardBulkOrders + def create: ( + customer_product_id: String, + shipping_address: top, + shipping_method: Lithic::Models::CardBulkOrderCreateParams::shipping_method, + ?request_options: Lithic::request_opts + ) -> Lithic::CardBulkOrder + + def retrieve: ( + String bulk_order_token, + ?request_options: Lithic::request_opts + ) -> Lithic::CardBulkOrder + + def update: ( + String bulk_order_token, + status: Lithic::Models::CardBulkOrderUpdateParams::status, + ?request_options: Lithic::request_opts + ) -> Lithic::CardBulkOrder + + def list: ( + ?begin_: Time, + ?end_: Time, + ?ending_before: String, + ?page_size: Integer, + ?starting_after: String, + ?request_options: Lithic::request_opts + ) -> Lithic::Internal::CursorPage[Lithic::CardBulkOrder] + + def initialize: (client: Lithic::Client) -> void + end + end +end diff --git a/sig/lithic/resources/cards.rbs b/sig/lithic/resources/cards.rbs index 3618a045..ab54c670 100644 --- a/sig/lithic/resources/cards.rbs +++ b/sig/lithic/resources/cards.rbs @@ -10,6 +10,7 @@ module Lithic def create: ( type: Lithic::Models::CardCreateParams::type_, ?account_token: String, + ?bulk_order_token: String, ?card_program_token: String, ?carrier: Lithic::Carrier, ?digital_card_art_token: String, @@ -120,9 +121,12 @@ module Lithic def web_provision: ( String card_token, + ?client_device_id: String, + ?client_wallet_account_id: String, ?digital_wallet: Lithic::Models::CardWebProvisionParams::digital_wallet, + ?server_session_id: String, ?request_options: Lithic::request_opts - ) -> Lithic::Models::CardWebProvisionResponse + ) -> Lithic::Models::card_web_provision_response def initialize: (client: Lithic::Client) -> void end diff --git a/sig/lithic/resources/cards/balances.rbs b/sig/lithic/resources/cards/balances.rbs index 86fad8d7..b5bf71df 100644 --- a/sig/lithic/resources/cards/balances.rbs +++ b/sig/lithic/resources/cards/balances.rbs @@ -7,7 +7,7 @@ module Lithic ?balance_date: Time, ?last_transaction_event_token: String, ?request_options: Lithic::request_opts - ) -> Lithic::Internal::SinglePage[Lithic::Models::Cards::BalanceListResponse] + ) -> Lithic::Internal::SinglePage[Lithic::FinancialAccountBalance] def initialize: (client: Lithic::Client) -> void end diff --git a/sig/lithic/resources/external_bank_accounts.rbs b/sig/lithic/resources/external_bank_accounts.rbs index 3f44fce6..621a3f2b 100644 --- a/sig/lithic/resources/external_bank_accounts.rbs +++ b/sig/lithic/resources/external_bank_accounts.rbs @@ -66,12 +66,12 @@ module Lithic String external_bank_account_token, ?financial_account_token: String, ?request_options: Lithic::request_opts - ) -> Lithic::Models::ExternalBankAccountRetryPrenoteResponse + ) -> Lithic::ExternalBankAccount def unpause: ( String external_bank_account_token, ?request_options: Lithic::request_opts - ) -> Lithic::Models::ExternalBankAccountUnpauseResponse + ) -> Lithic::ExternalBankAccount def initialize: (client: Lithic::Client) -> void end diff --git a/sig/lithic/resources/financial_accounts/balances.rbs b/sig/lithic/resources/financial_accounts/balances.rbs index 4d204d4e..3bf91e50 100644 --- a/sig/lithic/resources/financial_accounts/balances.rbs +++ b/sig/lithic/resources/financial_accounts/balances.rbs @@ -7,7 +7,7 @@ module Lithic ?balance_date: Time, ?last_transaction_event_token: String, ?request_options: Lithic::request_opts - ) -> Lithic::Internal::SinglePage[Lithic::Models::FinancialAccounts::BalanceListResponse] + ) -> Lithic::Internal::SinglePage[Lithic::FinancialAccountBalance] def initialize: (client: Lithic::Client) -> void end diff --git a/sig/lithic/resources/funding_events.rbs b/sig/lithic/resources/funding_events.rbs index dcd81133..b2aa6a85 100644 --- a/sig/lithic/resources/funding_events.rbs +++ b/sig/lithic/resources/funding_events.rbs @@ -4,14 +4,14 @@ module Lithic def retrieve: ( String funding_event_token, ?request_options: Lithic::request_opts - ) -> Lithic::Models::FundingEventRetrieveResponse + ) -> Lithic::FundingEvent def list: ( ?ending_before: String, ?page_size: Integer, ?starting_after: String, ?request_options: Lithic::request_opts - ) -> Lithic::Internal::CursorPage[Lithic::Models::FundingEventListResponse] + ) -> Lithic::Internal::CursorPage[Lithic::FundingEvent] def retrieve_details: ( String funding_event_token, diff --git a/sig/lithic/resources/internal_transaction.rbs b/sig/lithic/resources/internal_transaction.rbs new file mode 100644 index 00000000..01bb87bf --- /dev/null +++ b/sig/lithic/resources/internal_transaction.rbs @@ -0,0 +1,7 @@ +module Lithic + module Resources + class InternalTransaction + def initialize: (client: Lithic::Client) -> void + end + end +end diff --git a/sig/lithic/resources/reports/settlement/network_totals.rbs b/sig/lithic/resources/reports/settlement/network_totals.rbs index a1afbc7d..e274b3ef 100644 --- a/sig/lithic/resources/reports/settlement/network_totals.rbs +++ b/sig/lithic/resources/reports/settlement/network_totals.rbs @@ -6,7 +6,7 @@ module Lithic def retrieve: ( String token, ?request_options: Lithic::request_opts - ) -> Lithic::Models::Reports::Settlement::NetworkTotalRetrieveResponse + ) -> Lithic::NetworkTotal def list: ( ?begin_: Time, @@ -21,7 +21,7 @@ module Lithic ?settlement_institution_id: String, ?starting_after: String, ?request_options: Lithic::request_opts - ) -> Lithic::Internal::CursorPage[Lithic::Models::Reports::Settlement::NetworkTotalListResponse] + ) -> Lithic::Internal::CursorPage[Lithic::NetworkTotal] def initialize: (client: Lithic::Client) -> void end diff --git a/sig/lithic/resources/three_ds/authentication.rbs b/sig/lithic/resources/three_ds/authentication.rbs index 53c07962..4c54338e 100644 --- a/sig/lithic/resources/three_ds/authentication.rbs +++ b/sig/lithic/resources/three_ds/authentication.rbs @@ -5,7 +5,7 @@ module Lithic def retrieve: ( String three_ds_authentication_token, ?request_options: Lithic::request_opts - ) -> Lithic::Models::ThreeDS::AuthenticationRetrieveResponse + ) -> Lithic::ThreeDSAuthentication def simulate: ( merchant: Lithic::ThreeDS::AuthenticationSimulateParams::Merchant, diff --git a/sig/lithic/resources/tokenizations.rbs b/sig/lithic/resources/tokenizations.rbs index 808851bd..1559992c 100644 --- a/sig/lithic/resources/tokenizations.rbs +++ b/sig/lithic/resources/tokenizations.rbs @@ -49,7 +49,7 @@ module Lithic ?entity: String, ?wallet_recommended_decision: Lithic::Models::TokenizationSimulateParams::wallet_recommended_decision, ?request_options: Lithic::request_opts - ) -> Lithic::Models::TokenizationSimulateResponse + ) -> Lithic::Tokenization def unpause: ( String tokenization_token, @@ -60,7 +60,7 @@ module Lithic String tokenization_token, ?digital_card_art_token: String, ?request_options: Lithic::request_opts - ) -> Lithic::Models::TokenizationUpdateDigitalCardArtResponse + ) -> Lithic::Tokenization def initialize: (client: Lithic::Client) -> void end diff --git a/test/lithic/resources/account_holders_test.rb b/test/lithic/resources/account_holders_test.rb index d4f5109b..d973e4f2 100644 --- a/test/lithic/resources/account_holders_test.rb +++ b/test/lithic/resources/account_holders_test.rb @@ -222,7 +222,7 @@ def test_upload_document_required_params @lithic.account_holders.upload_document( "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e", document_type: :EIN_LETTER, - entity_token: "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e" + entity_token: "83cf25ae-c14f-4d10-9fa2-0119f36c7286" ) assert_pattern do diff --git a/test/lithic/resources/auth_rules/v2_test.rb b/test/lithic/resources/auth_rules/v2_test.rb index 8c42ea5a..2ddb68e3 100644 --- a/test/lithic/resources/auth_rules/v2_test.rb +++ b/test/lithic/resources/auth_rules/v2_test.rb @@ -12,7 +12,7 @@ def test_create_required_params ) assert_pattern do - response => Lithic::Models::AuthRules::V2CreateResponse + response => Lithic::AuthRules::AuthRule end assert_pattern do @@ -21,14 +21,14 @@ def test_create_required_params account_tokens: ^(Lithic::Internal::Type::ArrayOf[String]), business_account_tokens: ^(Lithic::Internal::Type::ArrayOf[String]), card_tokens: ^(Lithic::Internal::Type::ArrayOf[String]), - current_version: Lithic::Models::AuthRules::V2CreateResponse::CurrentVersion | nil, - draft_version: Lithic::Models::AuthRules::V2CreateResponse::DraftVersion | nil, - event_stream: Lithic::Models::AuthRules::V2CreateResponse::EventStream, + current_version: Lithic::AuthRules::AuthRule::CurrentVersion | nil, + draft_version: Lithic::AuthRules::AuthRule::DraftVersion | nil, + event_stream: Lithic::AuthRules::EventStream, lithic_managed: Lithic::Internal::Type::Boolean, name: String | nil, program_level: Lithic::Internal::Type::Boolean, - state: Lithic::Models::AuthRules::V2CreateResponse::State, - type: Lithic::Models::AuthRules::V2CreateResponse::Type, + state: Lithic::AuthRules::AuthRule::State, + type: Lithic::AuthRules::AuthRule::Type, excluded_card_tokens: ^(Lithic::Internal::Type::ArrayOf[String]) | nil } end @@ -38,7 +38,7 @@ def test_retrieve response = @lithic.auth_rules.v2.retrieve("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e") assert_pattern do - response => Lithic::Models::AuthRules::V2RetrieveResponse + response => Lithic::AuthRules::AuthRule end assert_pattern do @@ -47,14 +47,14 @@ def test_retrieve account_tokens: ^(Lithic::Internal::Type::ArrayOf[String]), business_account_tokens: ^(Lithic::Internal::Type::ArrayOf[String]), card_tokens: ^(Lithic::Internal::Type::ArrayOf[String]), - current_version: Lithic::Models::AuthRules::V2RetrieveResponse::CurrentVersion | nil, - draft_version: Lithic::Models::AuthRules::V2RetrieveResponse::DraftVersion | nil, - event_stream: Lithic::Models::AuthRules::V2RetrieveResponse::EventStream, + current_version: Lithic::AuthRules::AuthRule::CurrentVersion | nil, + draft_version: Lithic::AuthRules::AuthRule::DraftVersion | nil, + event_stream: Lithic::AuthRules::EventStream, lithic_managed: Lithic::Internal::Type::Boolean, name: String | nil, program_level: Lithic::Internal::Type::Boolean, - state: Lithic::Models::AuthRules::V2RetrieveResponse::State, - type: Lithic::Models::AuthRules::V2RetrieveResponse::Type, + state: Lithic::AuthRules::AuthRule::State, + type: Lithic::AuthRules::AuthRule::Type, excluded_card_tokens: ^(Lithic::Internal::Type::ArrayOf[String]) | nil } end @@ -64,7 +64,7 @@ def test_update response = @lithic.auth_rules.v2.update("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e") assert_pattern do - response => Lithic::Models::AuthRules::V2UpdateResponse + response => Lithic::AuthRules::AuthRule end assert_pattern do @@ -73,14 +73,14 @@ def test_update account_tokens: ^(Lithic::Internal::Type::ArrayOf[String]), business_account_tokens: ^(Lithic::Internal::Type::ArrayOf[String]), card_tokens: ^(Lithic::Internal::Type::ArrayOf[String]), - current_version: Lithic::Models::AuthRules::V2UpdateResponse::CurrentVersion | nil, - draft_version: Lithic::Models::AuthRules::V2UpdateResponse::DraftVersion | nil, - event_stream: Lithic::Models::AuthRules::V2UpdateResponse::EventStream, + current_version: Lithic::AuthRules::AuthRule::CurrentVersion | nil, + draft_version: Lithic::AuthRules::AuthRule::DraftVersion | nil, + event_stream: Lithic::AuthRules::EventStream, lithic_managed: Lithic::Internal::Type::Boolean, name: String | nil, program_level: Lithic::Internal::Type::Boolean, - state: Lithic::Models::AuthRules::V2UpdateResponse::State, - type: Lithic::Models::AuthRules::V2UpdateResponse::Type, + state: Lithic::AuthRules::AuthRule::State, + type: Lithic::AuthRules::AuthRule::Type, excluded_card_tokens: ^(Lithic::Internal::Type::ArrayOf[String]) | nil } end @@ -97,7 +97,7 @@ def test_list return if row.nil? assert_pattern do - row => Lithic::Models::AuthRules::V2ListResponse + row => Lithic::AuthRules::AuthRule end assert_pattern do @@ -106,14 +106,14 @@ def test_list account_tokens: ^(Lithic::Internal::Type::ArrayOf[String]), business_account_tokens: ^(Lithic::Internal::Type::ArrayOf[String]), card_tokens: ^(Lithic::Internal::Type::ArrayOf[String]), - current_version: Lithic::Models::AuthRules::V2ListResponse::CurrentVersion | nil, - draft_version: Lithic::Models::AuthRules::V2ListResponse::DraftVersion | nil, - event_stream: Lithic::Models::AuthRules::V2ListResponse::EventStream, + current_version: Lithic::AuthRules::AuthRule::CurrentVersion | nil, + draft_version: Lithic::AuthRules::AuthRule::DraftVersion | nil, + event_stream: Lithic::AuthRules::EventStream, lithic_managed: Lithic::Internal::Type::Boolean, name: String | nil, program_level: Lithic::Internal::Type::Boolean, - state: Lithic::Models::AuthRules::V2ListResponse::State, - type: Lithic::Models::AuthRules::V2ListResponse::Type, + state: Lithic::AuthRules::AuthRule::State, + type: Lithic::AuthRules::AuthRule::Type, excluded_card_tokens: ^(Lithic::Internal::Type::ArrayOf[String]) | nil } end @@ -131,7 +131,7 @@ def test_draft response = @lithic.auth_rules.v2.draft("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e") assert_pattern do - response => Lithic::Models::AuthRules::V2DraftResponse + response => Lithic::AuthRules::AuthRule end assert_pattern do @@ -140,14 +140,14 @@ def test_draft account_tokens: ^(Lithic::Internal::Type::ArrayOf[String]), business_account_tokens: ^(Lithic::Internal::Type::ArrayOf[String]), card_tokens: ^(Lithic::Internal::Type::ArrayOf[String]), - current_version: Lithic::Models::AuthRules::V2DraftResponse::CurrentVersion | nil, - draft_version: Lithic::Models::AuthRules::V2DraftResponse::DraftVersion | nil, - event_stream: Lithic::Models::AuthRules::V2DraftResponse::EventStream, + current_version: Lithic::AuthRules::AuthRule::CurrentVersion | nil, + draft_version: Lithic::AuthRules::AuthRule::DraftVersion | nil, + event_stream: Lithic::AuthRules::EventStream, lithic_managed: Lithic::Internal::Type::Boolean, name: String | nil, program_level: Lithic::Internal::Type::Boolean, - state: Lithic::Models::AuthRules::V2DraftResponse::State, - type: Lithic::Models::AuthRules::V2DraftResponse::Type, + state: Lithic::AuthRules::AuthRule::State, + type: Lithic::AuthRules::AuthRule::Type, excluded_card_tokens: ^(Lithic::Internal::Type::ArrayOf[String]) | nil } end @@ -157,7 +157,7 @@ def test_promote response = @lithic.auth_rules.v2.promote("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e") assert_pattern do - response => Lithic::Models::AuthRules::V2PromoteResponse + response => Lithic::AuthRules::AuthRule end assert_pattern do @@ -166,14 +166,14 @@ def test_promote account_tokens: ^(Lithic::Internal::Type::ArrayOf[String]), business_account_tokens: ^(Lithic::Internal::Type::ArrayOf[String]), card_tokens: ^(Lithic::Internal::Type::ArrayOf[String]), - current_version: Lithic::Models::AuthRules::V2PromoteResponse::CurrentVersion | nil, - draft_version: Lithic::Models::AuthRules::V2PromoteResponse::DraftVersion | nil, - event_stream: Lithic::Models::AuthRules::V2PromoteResponse::EventStream, + current_version: Lithic::AuthRules::AuthRule::CurrentVersion | nil, + draft_version: Lithic::AuthRules::AuthRule::DraftVersion | nil, + event_stream: Lithic::AuthRules::EventStream, lithic_managed: Lithic::Internal::Type::Boolean, name: String | nil, program_level: Lithic::Internal::Type::Boolean, - state: Lithic::Models::AuthRules::V2PromoteResponse::State, - type: Lithic::Models::AuthRules::V2PromoteResponse::Type, + state: Lithic::AuthRules::AuthRule::State, + type: Lithic::AuthRules::AuthRule::Type, excluded_card_tokens: ^(Lithic::Internal::Type::ArrayOf[String]) | nil } end diff --git a/test/lithic/resources/card_bulk_orders_test.rb b/test/lithic/resources/card_bulk_orders_test.rb new file mode 100644 index 00000000..df7c62e1 --- /dev/null +++ b/test/lithic/resources/card_bulk_orders_test.rb @@ -0,0 +1,109 @@ +# frozen_string_literal: true + +require_relative "../test_helper" + +class Lithic::Test::Resources::CardBulkOrdersTest < Lithic::Test::ResourceTest + def test_create_required_params + response = + @lithic.card_bulk_orders.create( + customer_product_id: "custom-card-design-123", + shipping_address: { + address1: "123 Main Street", + city: "NEW YORK", + country: "USA", + first_name: "Johnny", + last_name: "Appleseed", + postal_code: "10001", + state: "NY" + }, + shipping_method: :BULK_EXPEDITED + ) + + assert_pattern do + response => Lithic::CardBulkOrder + end + + assert_pattern do + response => { + token: String, + card_tokens: ^(Lithic::Internal::Type::ArrayOf[String]), + created: Time, + customer_product_id: String | nil, + shipping_address: Lithic::Internal::Type::Unknown, + shipping_method: Lithic::CardBulkOrder::ShippingMethod, + status: Lithic::CardBulkOrder::Status, + updated: Time + } + end + end + + def test_retrieve + response = @lithic.card_bulk_orders.retrieve("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e") + + assert_pattern do + response => Lithic::CardBulkOrder + end + + assert_pattern do + response => { + token: String, + card_tokens: ^(Lithic::Internal::Type::ArrayOf[String]), + created: Time, + customer_product_id: String | nil, + shipping_address: Lithic::Internal::Type::Unknown, + shipping_method: Lithic::CardBulkOrder::ShippingMethod, + status: Lithic::CardBulkOrder::Status, + updated: Time + } + end + end + + def test_update_required_params + response = @lithic.card_bulk_orders.update("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e", status: :LOCKED) + + assert_pattern do + response => Lithic::CardBulkOrder + end + + assert_pattern do + response => { + token: String, + card_tokens: ^(Lithic::Internal::Type::ArrayOf[String]), + created: Time, + customer_product_id: String | nil, + shipping_address: Lithic::Internal::Type::Unknown, + shipping_method: Lithic::CardBulkOrder::ShippingMethod, + status: Lithic::CardBulkOrder::Status, + updated: Time + } + end + end + + def test_list + response = @lithic.card_bulk_orders.list + + assert_pattern do + response => Lithic::Internal::CursorPage + end + + row = response.to_enum.first + return if row.nil? + + assert_pattern do + row => Lithic::CardBulkOrder + end + + assert_pattern do + row => { + token: String, + card_tokens: ^(Lithic::Internal::Type::ArrayOf[String]), + created: Time, + customer_product_id: String | nil, + shipping_address: Lithic::Internal::Type::Unknown, + shipping_method: Lithic::CardBulkOrder::ShippingMethod, + status: Lithic::CardBulkOrder::Status, + updated: Time + } + end + end +end diff --git a/test/lithic/resources/card_programs_test.rb b/test/lithic/resources/card_programs_test.rb index 7037b034..a3ceb6e1 100644 --- a/test/lithic/resources/card_programs_test.rb +++ b/test/lithic/resources/card_programs_test.rb @@ -13,11 +13,11 @@ def test_retrieve assert_pattern do response => { token: String, + account_level_management_enabled: Lithic::Internal::Type::Boolean, created: Time, name: String, pan_range_end: String, pan_range_start: String, - account_level_management_enabled: Lithic::Internal::Type::Boolean | nil, cardholder_currency: String | nil, settlement_currencies: ^(Lithic::Internal::Type::ArrayOf[String]) | nil } @@ -41,11 +41,11 @@ def test_list assert_pattern do row => { token: String, + account_level_management_enabled: Lithic::Internal::Type::Boolean, created: Time, name: String, pan_range_end: String, pan_range_start: String, - account_level_management_enabled: Lithic::Internal::Type::Boolean | nil, cardholder_currency: String | nil, settlement_currencies: ^(Lithic::Internal::Type::ArrayOf[String]) | nil } diff --git a/test/lithic/resources/cards/balances_test.rb b/test/lithic/resources/cards/balances_test.rb index a5e4dfdc..0610eca4 100644 --- a/test/lithic/resources/cards/balances_test.rb +++ b/test/lithic/resources/cards/balances_test.rb @@ -14,7 +14,7 @@ def test_list return if row.nil? assert_pattern do - row => Lithic::Models::Cards::BalanceListResponse + row => Lithic::FinancialAccountBalance end assert_pattern do @@ -27,7 +27,7 @@ def test_list last_transaction_token: String, pending_amount: Integer, total_amount: Integer, - type: Lithic::Models::Cards::BalanceListResponse::Type, + type: Lithic::FinancialAccountBalance::Type, updated: Time } end diff --git a/test/lithic/resources/cards_test.rb b/test/lithic/resources/cards_test.rb index d9c9e352..0c541c67 100644 --- a/test/lithic/resources/cards_test.rb +++ b/test/lithic/resources/cards_test.rb @@ -55,6 +55,7 @@ def test_list state: Lithic::NonPCICard::State, type: Lithic::NonPCICard::Type, auth_rule_tokens: ^(Lithic::Internal::Type::ArrayOf[String]) | nil, + bulk_order_token: String | nil, cardholder_currency: String | nil, comment: String | nil, digital_card_art_token: String | nil, @@ -173,10 +174,10 @@ def test_web_provision end assert_pattern do - response => { - jws: Lithic::Models::CardWebProvisionResponse::Jws | nil, - state: String | nil - } + case response + in Lithic::Models::CardWebProvisionResponse::AppleWebPushProvisioningResponse + in Lithic::Models::CardWebProvisionResponse::GoogleWebPushProvisioningResponse + end end end end diff --git a/test/lithic/resources/external_bank_accounts_test.rb b/test/lithic/resources/external_bank_accounts_test.rb index 079384db..ffbb8ccb 100644 --- a/test/lithic/resources/external_bank_accounts_test.rb +++ b/test/lithic/resources/external_bank_accounts_test.rb @@ -200,7 +200,7 @@ def test_retry_prenote response = @lithic.external_bank_accounts.retry_prenote("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e") assert_pattern do - response => Lithic::Models::ExternalBankAccountRetryPrenoteResponse + response => Lithic::ExternalBankAccount end assert_pattern do @@ -213,11 +213,11 @@ def test_retry_prenote owner: String, owner_type: Lithic::OwnerType, routing_number: String, - state: Lithic::Models::ExternalBankAccountRetryPrenoteResponse::State, - type: Lithic::Models::ExternalBankAccountRetryPrenoteResponse::Type, + state: Lithic::ExternalBankAccount::State, + type: Lithic::ExternalBankAccount::Type, verification_attempts: Integer, verification_method: Lithic::VerificationMethod, - verification_state: Lithic::Models::ExternalBankAccountRetryPrenoteResponse::VerificationState, + verification_state: Lithic::ExternalBankAccount::VerificationState, account_token: String | nil, address: Lithic::ExternalBankAccountAddress | nil, company_id: String | nil, @@ -235,7 +235,7 @@ def test_unpause response = @lithic.external_bank_accounts.unpause("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e") assert_pattern do - response => Lithic::Models::ExternalBankAccountUnpauseResponse + response => Lithic::ExternalBankAccount end assert_pattern do @@ -248,11 +248,11 @@ def test_unpause owner: String, owner_type: Lithic::OwnerType, routing_number: String, - state: Lithic::Models::ExternalBankAccountUnpauseResponse::State, - type: Lithic::Models::ExternalBankAccountUnpauseResponse::Type, + state: Lithic::ExternalBankAccount::State, + type: Lithic::ExternalBankAccount::Type, verification_attempts: Integer, verification_method: Lithic::VerificationMethod, - verification_state: Lithic::Models::ExternalBankAccountUnpauseResponse::VerificationState, + verification_state: Lithic::ExternalBankAccount::VerificationState, account_token: String | nil, address: Lithic::ExternalBankAccountAddress | nil, company_id: String | nil, diff --git a/test/lithic/resources/financial_accounts/balances_test.rb b/test/lithic/resources/financial_accounts/balances_test.rb index 925a0bb0..20de9af7 100644 --- a/test/lithic/resources/financial_accounts/balances_test.rb +++ b/test/lithic/resources/financial_accounts/balances_test.rb @@ -14,7 +14,7 @@ def test_list return if row.nil? assert_pattern do - row => Lithic::Models::FinancialAccounts::BalanceListResponse + row => Lithic::FinancialAccountBalance end assert_pattern do @@ -27,7 +27,7 @@ def test_list last_transaction_token: String, pending_amount: Integer, total_amount: Integer, - type: Lithic::Models::FinancialAccounts::BalanceListResponse::Type, + type: Lithic::FinancialAccountBalance::Type, updated: Time } end diff --git a/test/lithic/resources/funding_events_test.rb b/test/lithic/resources/funding_events_test.rb index 4bd6ca83..d747a222 100644 --- a/test/lithic/resources/funding_events_test.rb +++ b/test/lithic/resources/funding_events_test.rb @@ -7,17 +7,17 @@ def test_retrieve response = @lithic.funding_events.retrieve("funding_event_token") assert_pattern do - response => Lithic::Models::FundingEventRetrieveResponse + response => Lithic::FundingEvent end assert_pattern do response => { token: String, - collection_resource_type: Lithic::Models::FundingEventRetrieveResponse::CollectionResourceType, + collection_resource_type: Lithic::FundingEvent::CollectionResourceType, collection_tokens: ^(Lithic::Internal::Type::ArrayOf[String]), created: Time, high_watermark: Time, - network_settlement_summary: ^(Lithic::Internal::Type::ArrayOf[Lithic::Models::FundingEventRetrieveResponse::NetworkSettlementSummary]), + network_settlement_summary: ^(Lithic::Internal::Type::ArrayOf[Lithic::FundingEvent::NetworkSettlementSummary]), previous_high_watermark: Time, updated: Time } @@ -35,17 +35,17 @@ def test_list return if row.nil? assert_pattern do - row => Lithic::Models::FundingEventListResponse + row => Lithic::FundingEvent end assert_pattern do row => { token: String, - collection_resource_type: Lithic::Models::FundingEventListResponse::CollectionResourceType, + collection_resource_type: Lithic::FundingEvent::CollectionResourceType, collection_tokens: ^(Lithic::Internal::Type::ArrayOf[String]), created: Time, high_watermark: Time, - network_settlement_summary: ^(Lithic::Internal::Type::ArrayOf[Lithic::Models::FundingEventListResponse::NetworkSettlementSummary]), + network_settlement_summary: ^(Lithic::Internal::Type::ArrayOf[Lithic::FundingEvent::NetworkSettlementSummary]), previous_high_watermark: Time, updated: Time } diff --git a/test/lithic/resources/internal_transaction_test.rb b/test/lithic/resources/internal_transaction_test.rb new file mode 100644 index 00000000..3b61c459 --- /dev/null +++ b/test/lithic/resources/internal_transaction_test.rb @@ -0,0 +1,6 @@ +# frozen_string_literal: true + +require_relative "../test_helper" + +class Lithic::Test::Resources::InternalTransactionTest < Lithic::Test::ResourceTest +end diff --git a/test/lithic/resources/reports/settlement/network_totals_test.rb b/test/lithic/resources/reports/settlement/network_totals_test.rb index f7fc2058..1511d3e5 100644 --- a/test/lithic/resources/reports/settlement/network_totals_test.rb +++ b/test/lithic/resources/reports/settlement/network_totals_test.rb @@ -7,18 +7,18 @@ def test_retrieve response = @lithic.reports.settlement.network_totals.retrieve("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e") assert_pattern do - response => Lithic::Models::Reports::Settlement::NetworkTotalRetrieveResponse + response => Lithic::NetworkTotal end assert_pattern do response => { token: String, - amounts: Lithic::Models::Reports::Settlement::NetworkTotalRetrieveResponse::Amounts, + amounts: Lithic::NetworkTotal::Amounts, created: Time, currency: String, institution_id: String, is_complete: Lithic::Internal::Type::Boolean, - network: Lithic::Models::Reports::Settlement::NetworkTotalRetrieveResponse::Network, + network: Lithic::NetworkTotal::Network, report_date: Date, settlement_institution_id: String, settlement_service: String, @@ -39,18 +39,18 @@ def test_list return if row.nil? assert_pattern do - row => Lithic::Models::Reports::Settlement::NetworkTotalListResponse + row => Lithic::NetworkTotal end assert_pattern do row => { token: String, - amounts: Lithic::Models::Reports::Settlement::NetworkTotalListResponse::Amounts, + amounts: Lithic::NetworkTotal::Amounts, created: Time, currency: String, institution_id: String, is_complete: Lithic::Internal::Type::Boolean, - network: Lithic::Models::Reports::Settlement::NetworkTotalListResponse::Network, + network: Lithic::NetworkTotal::Network, report_date: Date, settlement_institution_id: String, settlement_service: String, diff --git a/test/lithic/resources/three_ds/authentication_test.rb b/test/lithic/resources/three_ds/authentication_test.rb index 4c1722c5..db205363 100644 --- a/test/lithic/resources/three_ds/authentication_test.rb +++ b/test/lithic/resources/three_ds/authentication_test.rb @@ -7,31 +7,31 @@ def test_retrieve response = @lithic.three_ds.authentication.retrieve("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e") assert_pattern do - response => Lithic::Models::ThreeDS::AuthenticationRetrieveResponse + response => Lithic::ThreeDSAuthentication end assert_pattern do response => { token: String, - account_type: Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::AccountType | nil, - authentication_result: Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::AuthenticationResult, - card_expiry_check: Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::CardExpiryCheck, + account_type: Lithic::ThreeDSAuthentication::AccountType | nil, + authentication_result: Lithic::ThreeDSAuthentication::AuthenticationResult, + card_expiry_check: Lithic::ThreeDSAuthentication::CardExpiryCheck, card_token: String, - cardholder: Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Cardholder, - channel: Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Channel, + cardholder: Lithic::ThreeDSAuthentication::Cardholder, + channel: Lithic::ThreeDSAuthentication::Channel, created: Time, - merchant: Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Merchant, - message_category: Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::MessageCategory, - three_ds_requestor_challenge_indicator: Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::ThreeDSRequestorChallengeIndicator, - additional_data: Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::AdditionalData | nil, - app: Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::App | nil, - authentication_request_type: Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::AuthenticationRequestType | nil, - browser: Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Browser | nil, - challenge_metadata: Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::ChallengeMetadata | nil, - challenge_orchestrated_by: Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::ChallengeOrchestratedBy | nil, - decision_made_by: Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::DecisionMadeBy | nil, - three_ri_request_type: Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::ThreeRiRequestType | nil, - transaction: Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::Transaction | nil + merchant: Lithic::ThreeDSAuthentication::Merchant, + message_category: Lithic::ThreeDSAuthentication::MessageCategory, + three_ds_requestor_challenge_indicator: Lithic::ThreeDSAuthentication::ThreeDSRequestorChallengeIndicator, + additional_data: Lithic::ThreeDSAuthentication::AdditionalData | nil, + app: Lithic::ThreeDSAuthentication::App | nil, + authentication_request_type: Lithic::ThreeDSAuthentication::AuthenticationRequestType | nil, + browser: Lithic::ThreeDSAuthentication::Browser | nil, + challenge_metadata: Lithic::ThreeDSAuthentication::ChallengeMetadata | nil, + challenge_orchestrated_by: Lithic::ThreeDSAuthentication::ChallengeOrchestratedBy | nil, + decision_made_by: Lithic::ThreeDSAuthentication::DecisionMadeBy | nil, + three_ri_request_type: Lithic::ThreeDSAuthentication::ThreeRiRequestType | nil, + transaction: Lithic::ThreeDSAuthentication::Transaction | nil } end end diff --git a/test/lithic/resources/tokenizations_test.rb b/test/lithic/resources/tokenizations_test.rb index 72196860..8cfa5444 100644 --- a/test/lithic/resources/tokenizations_test.rb +++ b/test/lithic/resources/tokenizations_test.rb @@ -106,12 +106,25 @@ def test_simulate_required_params ) assert_pattern do - response => Lithic::Models::TokenizationSimulateResponse + response => Lithic::Tokenization end assert_pattern do response => { - data: ^(Lithic::Internal::Type::ArrayOf[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, + device_id: String | nil, + digital_card_art_token: String | nil, + events: ^(Lithic::Internal::Type::ArrayOf[Lithic::Tokenization::Event]) | nil, + payment_account_reference_id: String | nil } end end @@ -128,12 +141,25 @@ def test_update_digital_card_art response = @lithic.tokenizations.update_digital_card_art("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e") assert_pattern do - response => Lithic::Models::TokenizationUpdateDigitalCardArtResponse + 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, + device_id: String | nil, + digital_card_art_token: String | nil, + events: ^(Lithic::Internal::Type::ArrayOf[Lithic::Tokenization::Event]) | nil, + payment_account_reference_id: String | nil } end end diff --git a/test/lithic/resources/transactions_test.rb b/test/lithic/resources/transactions_test.rb index b98d8b79..f1940a0a 100644 --- a/test/lithic/resources/transactions_test.rb +++ b/test/lithic/resources/transactions_test.rb @@ -22,7 +22,7 @@ def test_retrieve authorization_code: String | nil, avs: Lithic::Transaction::Avs | nil, card_token: String, - cardholder_authentication: Lithic::Transaction::CardholderAuthentication | nil, + cardholder_authentication: Lithic::CardholderAuthentication | nil, created: Time, financial_account_token: String | nil, merchant: Lithic::Merchant, @@ -35,7 +35,7 @@ def test_retrieve result: Lithic::Transaction::Result, settled_amount: Integer, status: Lithic::Transaction::Status, - token_info: Lithic::Transaction::TokenInfo | nil, + token_info: Lithic::TokenInfo | nil, updated: Time, events: ^(Lithic::Internal::Type::ArrayOf[Lithic::Transaction::Event]) | nil } @@ -68,7 +68,7 @@ def test_list authorization_code: String | nil, avs: Lithic::Transaction::Avs | nil, card_token: String, - cardholder_authentication: Lithic::Transaction::CardholderAuthentication | nil, + cardholder_authentication: Lithic::CardholderAuthentication | nil, created: Time, financial_account_token: String | nil, merchant: Lithic::Merchant, @@ -81,7 +81,7 @@ def test_list result: Lithic::Transaction::Result, settled_amount: Integer, status: Lithic::Transaction::Status, - token_info: Lithic::Transaction::TokenInfo | nil, + token_info: Lithic::TokenInfo | nil, updated: Time, events: ^(Lithic::Internal::Type::ArrayOf[Lithic::Transaction::Event]) | nil }