From 1414cb3b02f8d8a016808a68745861f8fbe34d80 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Tue, 8 Jul 2025 18:23:27 +0000 Subject: [PATCH 1/5] codegen metadata --- .stats.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.stats.yml b/.stats.yml index 0709ca81..2e6b9fb4 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ configured_endpoints: 165 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/lithic%2Flithic-1aaf1d9d9aea1bfa14a48559f01d539aa1449d65f252dc9c3b606c7bca300af1.yml +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/lithic%2Flithic-41b87f6139d55188993492b9c042a6bc1bc0506c166334c387072b57b6c79869.yml openapi_spec_hash: 3327246caf3bcbd3504ce99c81062075 -config_hash: a5d12cd64a37624cbe350cd7b2380693 +config_hash: f390dcd4de9109eff9667160949feef2 From 7c81c62607c9c15d13dd7a4a620bb008cdbc6598 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Tue, 8 Jul 2025 18:46:55 +0000 Subject: [PATCH 2/5] codegen metadata --- .stats.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.stats.yml b/.stats.yml index 2e6b9fb4..b57de73d 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ configured_endpoints: 165 openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/lithic%2Flithic-41b87f6139d55188993492b9c042a6bc1bc0506c166334c387072b57b6c79869.yml openapi_spec_hash: 3327246caf3bcbd3504ce99c81062075 -config_hash: f390dcd4de9109eff9667160949feef2 +config_hash: b7425db12ddcc27a89a38de7042c4fa2 From a254fdb0cacf8397849b327ca58b02d77616a54b Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Tue, 8 Jul 2025 18:54:30 +0000 Subject: [PATCH 3/5] codegen metadata --- .stats.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.stats.yml b/.stats.yml index b57de73d..2e6b9fb4 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ configured_endpoints: 165 openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/lithic%2Flithic-41b87f6139d55188993492b9c042a6bc1bc0506c166334c387072b57b6c79869.yml openapi_spec_hash: 3327246caf3bcbd3504ce99c81062075 -config_hash: b7425db12ddcc27a89a38de7042c4fa2 +config_hash: f390dcd4de9109eff9667160949feef2 From b5e5077794684767a425d31f746cee2ed69d8ba7 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Tue, 15 Jul 2025 18:40:06 +0000 Subject: [PATCH 4/5] feat(api): adds Network Programs and Account/Card Sub-statuses - Add detailed substatus enums for Account and Card state management with fraud, risk, and lifecycle reason codes - Add Network Program endpoints for program management. --- .stats.yml | 8 +- lib/lithic.rb | 6 + lib/lithic/client.rb | 4 + lib/lithic/models.rb | 10 + lib/lithic/models/account.rb | 89 ++- lib/lithic/models/account_update_params.rb | 87 ++- lib/lithic/models/aggregate_balance.rb | 1 + .../models/aggregate_balance_list_params.rb | 1 + .../conditional_3ds_action_parameters.rb | 14 +- .../auth_rules/velocity_limit_params.rb | 28 +- .../velocity_limit_params_period_window.rb | 254 +++++++- lib/lithic/models/balance.rb | 1 + lib/lithic/models/balance_list_params.rb | 1 + lib/lithic/models/card_create_params.rb | 91 ++- lib/lithic/models/card_program.rb | 11 +- lib/lithic/models/card_update_params.rb | 99 +++- .../models/cards/balance_list_response.rb | 1 + lib/lithic/models/external_resource.rb | 34 ++ lib/lithic/models/external_resource_type.rb | 18 + .../models/financial_account_list_params.rb | 1 + .../balance_list_response.rb | 1 + .../management_operation_create_params.rb | 31 +- .../management_operation_transaction.rb | 23 +- lib/lithic/models/network_program.rb | 41 ++ .../models/network_program_list_params.rb | 43 ++ .../models/network_program_retrieve_params.rb | 14 + lib/lithic/models/non_pci_card.rb | 89 ++- .../models/payment_simulate_action_params.rb | 1 + lib/lithic/models/transaction.rb | 51 +- lib/lithic/resources/accounts.rb | 6 +- lib/lithic/resources/cards.rb | 14 +- lib/lithic/resources/management_operations.rb | 14 +- lib/lithic/resources/network_programs.rb | 64 ++ rbi/lithic/client.rbi | 3 + rbi/lithic/models.rbi | 10 + rbi/lithic/models/account.rbi | 131 ++++ rbi/lithic/models/account_update_params.rbi | 159 +++++ rbi/lithic/models/aggregate_balance.rbi | 5 + .../models/aggregate_balance_list_params.rbi | 5 + .../conditional_3ds_action_parameters.rbi | 21 +- .../auth_rules/velocity_limit_params.rbi | 43 +- .../velocity_limit_params_period_window.rbi | 558 +++++++++++++++++- rbi/lithic/models/balance.rbi | 2 + rbi/lithic/models/balance_list_params.rbi | 5 + rbi/lithic/models/card_create_params.rbi | 190 ++++++ rbi/lithic/models/card_program.rbi | 13 + rbi/lithic/models/card_update_params.rbi | 168 ++++++ .../models/cards/balance_list_response.rbi | 5 + rbi/lithic/models/external_resource.rbi | 57 ++ rbi/lithic/models/external_resource_type.rbi | 26 + .../models/financial_account_list_params.rbi | 5 + .../balance_list_response.rbi | 5 + .../management_operation_create_params.rbi | 59 ++ .../management_operation_transaction.rbi | 15 + rbi/lithic/models/network_program.rbi | 61 ++ .../models/network_program_list_params.rbi | 72 +++ .../network_program_retrieve_params.rbi | 27 + rbi/lithic/models/non_pci_card.rbi | 136 ++++- .../models/payment_simulate_action_params.rbi | 5 + rbi/lithic/models/transaction.rbi | 54 +- rbi/lithic/resources/accounts.rbi | 32 + rbi/lithic/resources/cards.rbi | 70 +++ .../resources/management_operations.rbi | 4 + rbi/lithic/resources/network_programs.rbi | 48 ++ sig/lithic/client.rbs | 2 + sig/lithic/models.rbs | 10 + sig/lithic/models/account.rbs | 41 ++ sig/lithic/models/account_update_params.rbs | 41 ++ sig/lithic/models/aggregate_balance.rbs | 3 +- .../models/aggregate_balance_list_params.rbs | 3 +- .../auth_rules/velocity_limit_params.rbs | 18 +- .../velocity_limit_params_period_window.rbs | 219 ++++++- sig/lithic/models/balance.rbs | 3 +- sig/lithic/models/balance_list_params.rbs | 3 +- sig/lithic/models/card_create_params.rbs | 47 ++ sig/lithic/models/card_program.rbs | 7 + sig/lithic/models/card_update_params.rbs | 56 +- .../models/cards/balance_list_response.rbs | 3 +- sig/lithic/models/external_resource.rbs | 32 + sig/lithic/models/external_resource_type.rbs | 16 + .../models/financial_account_list_params.rbs | 3 +- .../balance_list_response.rbs | 3 +- .../management_operation_create_params.rbs | 20 + .../management_operation_transaction.rbs | 5 + sig/lithic/models/network_program.rbs | 35 ++ .../models/network_program_list_params.rbs | 38 ++ .../network_program_retrieve_params.rbs | 15 + sig/lithic/models/non_pci_card.rbs | 58 +- .../models/payment_simulate_action_params.rbs | 2 + sig/lithic/models/transaction.rbs | 8 +- sig/lithic/resources/accounts.rbs | 2 + sig/lithic/resources/cards.rbs | 5 + .../resources/management_operations.rbs | 1 + sig/lithic/resources/network_programs.rbs | 19 + test/lithic/resources/accounts_test.rb | 6 + test/lithic/resources/card_programs_test.rb | 2 + test/lithic/resources/cards_test.rb | 5 +- .../resources/management_operations_test.rb | 4 + .../lithic/resources/network_programs_test.rb | 46 ++ 99 files changed, 3695 insertions(+), 231 deletions(-) create mode 100644 lib/lithic/models/external_resource.rb create mode 100644 lib/lithic/models/external_resource_type.rb create mode 100644 lib/lithic/models/network_program.rb create mode 100644 lib/lithic/models/network_program_list_params.rb create mode 100644 lib/lithic/models/network_program_retrieve_params.rb create mode 100644 lib/lithic/resources/network_programs.rb create mode 100644 rbi/lithic/models/external_resource.rbi create mode 100644 rbi/lithic/models/external_resource_type.rbi create mode 100644 rbi/lithic/models/network_program.rbi create mode 100644 rbi/lithic/models/network_program_list_params.rbi create mode 100644 rbi/lithic/models/network_program_retrieve_params.rbi create mode 100644 rbi/lithic/resources/network_programs.rbi create mode 100644 sig/lithic/models/external_resource.rbs create mode 100644 sig/lithic/models/external_resource_type.rbs create mode 100644 sig/lithic/models/network_program.rbs create mode 100644 sig/lithic/models/network_program_list_params.rbs create mode 100644 sig/lithic/models/network_program_retrieve_params.rbs create mode 100644 sig/lithic/resources/network_programs.rbs create mode 100644 test/lithic/resources/network_programs_test.rb diff --git a/.stats.yml b/.stats.yml index 2e6b9fb4..c9520d6b 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ -configured_endpoints: 165 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/lithic%2Flithic-41b87f6139d55188993492b9c042a6bc1bc0506c166334c387072b57b6c79869.yml -openapi_spec_hash: 3327246caf3bcbd3504ce99c81062075 -config_hash: f390dcd4de9109eff9667160949feef2 +configured_endpoints: 167 +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/lithic%2Flithic-b9c76d077831114f1e4c5c15ff3f1d835ef3e9361b768af8468f8eb07a09ef3e.yml +openapi_spec_hash: 5f9bcf1afd68f962a870727c35628394 +config_hash: e9a46eb8acb9dc2c236f3e1958a1c4dd diff --git a/lib/lithic.rb b/lib/lithic.rb index 05cb57df..11791ded 100644 --- a/lib/lithic.rb +++ b/lib/lithic.rb @@ -213,6 +213,8 @@ require_relative "lithic/models/external_payment_retrieve_params" require_relative "lithic/models/external_payment_reverse_params" require_relative "lithic/models/external_payment_settle_params" +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_create_params" require_relative "lithic/models/financial_account_list_params" @@ -258,6 +260,9 @@ require_relative "lithic/models/management_operation_reverse_params" require_relative "lithic/models/management_operation_transaction" require_relative "lithic/models/message_attempt" +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/owner_type" require_relative "lithic/models/payment_create_params" require_relative "lithic/models/payment_create_response" @@ -379,6 +384,7 @@ require_relative "lithic/resources/fraud/transactions" require_relative "lithic/resources/funding_events" require_relative "lithic/resources/management_operations" +require_relative "lithic/resources/network_programs" require_relative "lithic/resources/payments" require_relative "lithic/resources/reports" require_relative "lithic/resources/reports/settlement" diff --git a/lib/lithic/client.rb b/lib/lithic/client.rb index 951129ca..d8fa4d59 100644 --- a/lib/lithic/client.rb +++ b/lib/lithic/client.rb @@ -104,6 +104,9 @@ class Client < Lithic::Internal::Transport::BaseClient # @return [Lithic::Resources::Fraud] attr_reader :fraud + # @return [Lithic::Resources::NetworkPrograms] + attr_reader :network_programs + # Status of api # # @overload api_status(request_options: {}) @@ -205,6 +208,7 @@ def initialize( @management_operations = Lithic::Resources::ManagementOperations.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) end end end diff --git a/lib/lithic/models.rb b/lib/lithic/models.rb index cbfa39a1..64899324 100644 --- a/lib/lithic/models.rb +++ b/lib/lithic/models.rb @@ -224,6 +224,10 @@ module Lithic ExternalPaymentSettleParams = Lithic::Models::ExternalPaymentSettleParams + ExternalResource = Lithic::Models::ExternalResource + + ExternalResourceType = Lithic::Models::ExternalResourceType + FinancialAccount = Lithic::Models::FinancialAccount FinancialAccountCreateParams = Lithic::Models::FinancialAccountCreateParams @@ -272,6 +276,12 @@ module Lithic MessageAttempt = Lithic::Models::MessageAttempt + NetworkProgram = Lithic::Models::NetworkProgram + + NetworkProgramListParams = Lithic::Models::NetworkProgramListParams + + NetworkProgramRetrieveParams = Lithic::Models::NetworkProgramRetrieveParams + NonPCICard = Lithic::Models::NonPCICard OwnerType = Lithic::Models::OwnerType diff --git a/lib/lithic/models/account.rb b/lib/lithic/models/account.rb index b997405f..ddf0b580 100644 --- a/lib/lithic/models/account.rb +++ b/lib/lithic/models/account.rb @@ -66,13 +66,51 @@ class Account < Lithic::Internal::Type::BaseModel # @return [String, nil] optional :cardholder_currency, String + # @!attribute comment + # Additional context or information related to the account. + # + # @return [String, nil] + optional :comment, String + + # @!attribute substatus + # Account state substatus values: + # + # - `FRAUD_IDENTIFIED` - The account has been recognized as being created or used + # with stolen or fabricated identity information, encompassing both true + # identity theft and synthetic identities. + # - `SUSPICIOUS_ACTIVITY` - The account has exhibited suspicious behavior, such as + # unauthorized access or fraudulent transactions, necessitating further + # investigation. + # - `RISK_VIOLATION` - The account has been involved in deliberate misuse by the + # legitimate account holder. Examples include disputing valid transactions + # without cause, falsely claiming non-receipt of goods, or engaging in + # intentional bust-out schemes to exploit account services. + # - `END_USER_REQUEST` - The account holder has voluntarily requested the closure + # of the account for personal reasons. This encompasses situations such as + # bankruptcy, other financial considerations, or the account holder's death. + # - `ISSUER_REQUEST` - The issuer has initiated the closure of the account due to + # business strategy, risk management, inactivity, product changes, regulatory + # concerns, or violations of terms and conditions. + # - `NOT_ACTIVE` - The account has not had any transactions or payment activity + # within a specified period. This status applies to accounts that are paused or + # closed due to inactivity. + # - `INTERNAL_REVIEW` - The account is temporarily paused pending further internal + # review. In future implementations, this status may prevent clients from + # activating the account via APIs until the review is completed. + # - `OTHER` - The reason for the account's current status does not fall into any + # of the above categories. A comment should be provided to specify the + # particular reason. + # + # @return [Symbol, Lithic::Models::Account::Substatus, nil] + optional :substatus, enum: -> { Lithic::Account::Substatus } + # @!attribute verification_address # @deprecated # # @return [Lithic::Models::Account::VerificationAddress, nil] optional :verification_address, -> { Lithic::Account::VerificationAddress } - # @!method initialize(token:, created:, spend_limit:, state:, account_holder: nil, auth_rule_tokens: nil, cardholder_currency: nil, verification_address: nil) + # @!method initialize(token:, created:, spend_limit:, state:, account_holder: nil, auth_rule_tokens: nil, cardholder_currency: nil, comment: nil, substatus: nil, verification_address: nil) # Some parameter documentations has been truncated, see {Lithic::Models::Account} # for more details. # @@ -90,6 +128,10 @@ class Account < Lithic::Internal::Type::BaseModel # # @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 account. + # + # @param substatus [Symbol, Lithic::Models::Account::Substatus] Account state substatus values: + # # @param verification_address [Lithic::Models::Account::VerificationAddress] # @see Lithic::Models::Account#spend_limit @@ -191,6 +233,51 @@ class AccountHolder < Lithic::Internal::Type::BaseModel # @param phone_number [String] Phone number of the individual. end + # Account state substatus values: + # + # - `FRAUD_IDENTIFIED` - The account has been recognized as being created or used + # with stolen or fabricated identity information, encompassing both true + # identity theft and synthetic identities. + # - `SUSPICIOUS_ACTIVITY` - The account has exhibited suspicious behavior, such as + # unauthorized access or fraudulent transactions, necessitating further + # investigation. + # - `RISK_VIOLATION` - The account has been involved in deliberate misuse by the + # legitimate account holder. Examples include disputing valid transactions + # without cause, falsely claiming non-receipt of goods, or engaging in + # intentional bust-out schemes to exploit account services. + # - `END_USER_REQUEST` - The account holder has voluntarily requested the closure + # of the account for personal reasons. This encompasses situations such as + # bankruptcy, other financial considerations, or the account holder's death. + # - `ISSUER_REQUEST` - The issuer has initiated the closure of the account due to + # business strategy, risk management, inactivity, product changes, regulatory + # concerns, or violations of terms and conditions. + # - `NOT_ACTIVE` - The account has not had any transactions or payment activity + # within a specified period. This status applies to accounts that are paused or + # closed due to inactivity. + # - `INTERNAL_REVIEW` - The account is temporarily paused pending further internal + # review. In future implementations, this status may prevent clients from + # activating the account via APIs until the review is completed. + # - `OTHER` - The reason for the account's current status does not fall into any + # of the above categories. A comment should be provided to specify the + # particular reason. + # + # @see Lithic::Models::Account#substatus + module Substatus + extend Lithic::Internal::Type::Enum + + FRAUD_IDENTIFIED = :FRAUD_IDENTIFIED + SUSPICIOUS_ACTIVITY = :SUSPICIOUS_ACTIVITY + RISK_VIOLATION = :RISK_VIOLATION + END_USER_REQUEST = :END_USER_REQUEST + ISSUER_REQUEST = :ISSUER_REQUEST + NOT_ACTIVE = :NOT_ACTIVE + INTERNAL_REVIEW = :INTERNAL_REVIEW + OTHER = :OTHER + + # @!method self.values + # @return [Array] + end + # @deprecated # # @see Lithic::Models::Account#verification_address diff --git a/lib/lithic/models/account_update_params.rb b/lib/lithic/models/account_update_params.rb index a26ce636..96698afb 100644 --- a/lib/lithic/models/account_update_params.rb +++ b/lib/lithic/models/account_update_params.rb @@ -7,6 +7,12 @@ class AccountUpdateParams < Lithic::Internal::Type::BaseModel extend Lithic::Internal::Type::RequestParameters::Converter include Lithic::Internal::Type::RequestParameters + # @!attribute comment + # Additional context or information related to the account. + # + # @return [String, nil] + optional :comment, String + # @!attribute daily_spend_limit # Amount (in cents) for the account's daily spend limit (e.g. 100000 would be a # $1,000 limit). By default the daily spend limit is set to $1,250. @@ -39,6 +45,38 @@ class AccountUpdateParams < Lithic::Internal::Type::BaseModel # @return [Symbol, Lithic::Models::AccountUpdateParams::State, nil] optional :state, enum: -> { Lithic::AccountUpdateParams::State } + # @!attribute substatus + # Account state substatus values: + # + # - `FRAUD_IDENTIFIED` - The account has been recognized as being created or used + # with stolen or fabricated identity information, encompassing both true + # identity theft and synthetic identities. + # - `SUSPICIOUS_ACTIVITY` - The account has exhibited suspicious behavior, such as + # unauthorized access or fraudulent transactions, necessitating further + # investigation. + # - `RISK_VIOLATION` - The account has been involved in deliberate misuse by the + # legitimate account holder. Examples include disputing valid transactions + # without cause, falsely claiming non-receipt of goods, or engaging in + # intentional bust-out schemes to exploit account services. + # - `END_USER_REQUEST` - The account holder has voluntarily requested the closure + # of the account for personal reasons. This encompasses situations such as + # bankruptcy, other financial considerations, or the account holder's death. + # - `ISSUER_REQUEST` - The issuer has initiated the closure of the account due to + # business strategy, risk management, inactivity, product changes, regulatory + # concerns, or violations of terms and conditions. + # - `NOT_ACTIVE` - The account has not had any transactions or payment activity + # within a specified period. This status applies to accounts that are paused or + # closed due to inactivity. + # - `INTERNAL_REVIEW` - The account is temporarily paused pending further internal + # review. In future implementations, this status may prevent clients from + # activating the account via APIs until the review is completed. + # - `OTHER` - The reason for the account's current status does not fall into any + # of the above categories. A comment should be provided to specify the + # particular reason. + # + # @return [Symbol, Lithic::Models::AccountUpdateParams::Substatus, nil] + optional :substatus, enum: -> { Lithic::AccountUpdateParams::Substatus } + # @!attribute verification_address # @deprecated # @@ -50,10 +88,12 @@ class AccountUpdateParams < Lithic::Internal::Type::BaseModel # @return [Lithic::Models::AccountUpdateParams::VerificationAddress, nil] optional :verification_address, -> { Lithic::AccountUpdateParams::VerificationAddress } - # @!method initialize(daily_spend_limit: nil, lifetime_spend_limit: nil, monthly_spend_limit: nil, state: nil, verification_address: nil, request_options: {}) + # @!method initialize(comment: nil, daily_spend_limit: nil, lifetime_spend_limit: nil, monthly_spend_limit: nil, state: nil, substatus: nil, verification_address: nil, request_options: {}) # Some parameter documentations has been truncated, see # {Lithic::Models::AccountUpdateParams} for more details. # + # @param comment [String] Additional context or information related to the account. + # # @param daily_spend_limit [Integer] Amount (in cents) for the account's daily spend limit (e.g. 100000 would be a $1 # # @param lifetime_spend_limit [Integer] Amount (in cents) for the account's lifetime spend limit (e.g. 100000 would be a @@ -62,6 +102,8 @@ class AccountUpdateParams < Lithic::Internal::Type::BaseModel # # @param state [Symbol, Lithic::Models::AccountUpdateParams::State] Account states. # + # @param substatus [Symbol, Lithic::Models::AccountUpdateParams::Substatus] Account state substatus values: + # # @param verification_address [Lithic::Models::AccountUpdateParams::VerificationAddress] Address used during Address Verification Service (AVS) checks during transaction # # @param request_options [Lithic::RequestOptions, Hash{Symbol=>Object}] @@ -78,6 +120,49 @@ module State # @return [Array] end + # Account state substatus values: + # + # - `FRAUD_IDENTIFIED` - The account has been recognized as being created or used + # with stolen or fabricated identity information, encompassing both true + # identity theft and synthetic identities. + # - `SUSPICIOUS_ACTIVITY` - The account has exhibited suspicious behavior, such as + # unauthorized access or fraudulent transactions, necessitating further + # investigation. + # - `RISK_VIOLATION` - The account has been involved in deliberate misuse by the + # legitimate account holder. Examples include disputing valid transactions + # without cause, falsely claiming non-receipt of goods, or engaging in + # intentional bust-out schemes to exploit account services. + # - `END_USER_REQUEST` - The account holder has voluntarily requested the closure + # of the account for personal reasons. This encompasses situations such as + # bankruptcy, other financial considerations, or the account holder's death. + # - `ISSUER_REQUEST` - The issuer has initiated the closure of the account due to + # business strategy, risk management, inactivity, product changes, regulatory + # concerns, or violations of terms and conditions. + # - `NOT_ACTIVE` - The account has not had any transactions or payment activity + # within a specified period. This status applies to accounts that are paused or + # closed due to inactivity. + # - `INTERNAL_REVIEW` - The account is temporarily paused pending further internal + # review. In future implementations, this status may prevent clients from + # activating the account via APIs until the review is completed. + # - `OTHER` - The reason for the account's current status does not fall into any + # of the above categories. A comment should be provided to specify the + # particular reason. + module Substatus + extend Lithic::Internal::Type::Enum + + FRAUD_IDENTIFIED = :FRAUD_IDENTIFIED + SUSPICIOUS_ACTIVITY = :SUSPICIOUS_ACTIVITY + RISK_VIOLATION = :RISK_VIOLATION + END_USER_REQUEST = :END_USER_REQUEST + ISSUER_REQUEST = :ISSUER_REQUEST + NOT_ACTIVE = :NOT_ACTIVE + INTERNAL_REVIEW = :INTERNAL_REVIEW + OTHER = :OTHER + + # @!method self.values + # @return [Array] + end + # @deprecated class VerificationAddress < Lithic::Internal::Type::BaseModel # @!attribute address1 diff --git a/lib/lithic/models/aggregate_balance.rb b/lib/lithic/models/aggregate_balance.rb index 0f7d7d6c..4563cf4c 100644 --- a/lib/lithic/models/aggregate_balance.rb +++ b/lib/lithic/models/aggregate_balance.rb @@ -103,6 +103,7 @@ module FinancialAccountType ISSUING = :ISSUING OPERATING = :OPERATING RESERVE = :RESERVE + SECURITY = :SECURITY # @!method self.values # @return [Array] diff --git a/lib/lithic/models/aggregate_balance_list_params.rb b/lib/lithic/models/aggregate_balance_list_params.rb index 9b8ce555..9b0075a2 100644 --- a/lib/lithic/models/aggregate_balance_list_params.rb +++ b/lib/lithic/models/aggregate_balance_list_params.rb @@ -25,6 +25,7 @@ module FinancialAccountType ISSUING = :ISSUING OPERATING = :OPERATING RESERVE = :RESERVE + SECURITY = :SECURITY # @!method self.values # @return [Array] 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 28fadaf6..99c5ec8b 100644 --- a/lib/lithic/models/auth_rules/conditional_3ds_action_parameters.rb +++ b/lib/lithic/models/auth_rules/conditional_3ds_action_parameters.rb @@ -56,11 +56,8 @@ class Condition < Lithic::Internal::Type::BaseModel # fee field in the settlement/cardholder billing currency. This is the amount # the issuer should authorize against unless the issuer is paying the acquirer # fee on behalf of the cardholder. - # - `RISK_SCORE`: Network-provided score assessing risk level associated with a - # given authentication. Scores are on a range of 0-999, with 0 representing the - # lowest risk and 999 representing the highest risk. For Visa transactions, - # where the raw score has a range of 0-99, Lithic will normalize the score by - # multiplying the raw score by 10x. + # - `RISK_SCORE`: Mastercard only: Assessment by the network of the authentication + # risk level, with a higher value indicating a higher amount of risk. # - `MESSAGE_CATEGORY`: The category of the authentication being processed. # # @return [Symbol, Lithic::Models::AuthRules::Conditional3DSActionParameters::Condition::Attribute, nil] @@ -113,11 +110,8 @@ class Condition < Lithic::Internal::Type::BaseModel # fee field in the settlement/cardholder billing currency. This is the amount # the issuer should authorize against unless the issuer is paying the acquirer # fee on behalf of the cardholder. - # - `RISK_SCORE`: Network-provided score assessing risk level associated with a - # given authentication. Scores are on a range of 0-999, with 0 representing the - # lowest risk and 999 representing the highest risk. For Visa transactions, - # where the raw score has a range of 0-99, Lithic will normalize the score by - # multiplying the raw score by 10x. + # - `RISK_SCORE`: Mastercard only: Assessment by the network of the authentication + # risk level, with a higher value indicating a higher amount of risk. # - `MESSAGE_CATEGORY`: The category of the authentication being processed. # # @see Lithic::Models::AuthRules::Conditional3DSActionParameters::Condition#attribute diff --git a/lib/lithic/models/auth_rules/velocity_limit_params.rb b/lib/lithic/models/auth_rules/velocity_limit_params.rb index 431e4651..a02c294b 100644 --- a/lib/lithic/models/auth_rules/velocity_limit_params.rb +++ b/lib/lithic/models/auth_rules/velocity_limit_params.rb @@ -13,8 +13,8 @@ class VelocityLimitParams < Lithic::Internal::Type::BaseModel # The size of the trailing window to calculate Spend Velocity over in seconds. The # minimum value is 10 seconds, and the maximum value is 2678400 seconds (31 days). # - # @return [Integer, Symbol, Lithic::Models::AuthRules::VelocityLimitParamsPeriodWindow] - required :period, union: -> { Lithic::AuthRules::VelocityLimitParams::Period } + # @return [Integer, Symbol, Lithic::Models::AuthRules::VelocityLimitParamsPeriodWindow::FixedWindow, Lithic::Models::AuthRules::VelocityLimitParamsPeriodWindow::TrailingWindowObject, Lithic::Models::AuthRules::VelocityLimitParamsPeriodWindow::FixedWindowDay, Lithic::Models::AuthRules::VelocityLimitParamsPeriodWindow::FixedWindowWeek, Lithic::Models::AuthRules::VelocityLimitParamsPeriodWindow::FixedWindowMonth, Lithic::Models::AuthRules::VelocityLimitParamsPeriodWindow::FixedWindowYear] + required :period, union: -> { Lithic::AuthRules::VelocityLimitParamsPeriodWindow } # @!attribute scope # @@ -45,7 +45,7 @@ class VelocityLimitParams < Lithic::Internal::Type::BaseModel # # @param filters [Lithic::Models::AuthRules::VelocityLimitParams::Filters] # - # @param period [Integer, Symbol, Lithic::Models::AuthRules::VelocityLimitParamsPeriodWindow] The size of the trailing window to calculate Spend Velocity over in seconds. The + # @param period [Integer, Symbol, Lithic::Models::AuthRules::VelocityLimitParamsPeriodWindow::FixedWindow, Lithic::Models::AuthRules::VelocityLimitParamsPeriodWindow::TrailingWindowObject, Lithic::Models::AuthRules::VelocityLimitParamsPeriodWindow::FixedWindowDay, Lithic::Models::AuthRules::VelocityLimitParamsPeriodWindow::FixedWindowWeek, Lithic::Models::AuthRules::VelocityLimitParamsPeriodWindow::FixedWindowMonth, Lithic::Models::AuthRules::VelocityLimitParamsPeriodWindow::FixedWindowYear] The size of the trailing window to calculate Spend Velocity over in seconds. The # # @param scope [Symbol, Lithic::Models::AuthRules::VelocityLimitParams::Scope] # @@ -98,28 +98,6 @@ class Filters < Lithic::Internal::Type::BaseModel # @param include_mccs [Array, nil] Merchant Category Codes to include in the velocity calculation. Transactions not end - # The size of the trailing window to calculate Spend Velocity over in seconds. The - # minimum value is 10 seconds, and the maximum value is 2678400 seconds (31 days). - # - # @see Lithic::Models::AuthRules::VelocityLimitParams#period - module Period - extend Lithic::Internal::Type::Union - - # The size of the trailing window to calculate Spend Velocity over in seconds. The minimum value is 10 seconds, and the maximum value is 2678400 seconds (31 days). - variant Integer - - # The window of time to calculate Spend Velocity over. - # - # * `DAY`: Velocity over the current day since midnight Eastern Time. - # * `WEEK`: Velocity over the current week since 00:00 / 12 AM on Monday in Eastern Time. - # * `MONTH`: Velocity over the current month since 00:00 / 12 AM on the first of the month in Eastern Time. - # * `YEAR`: Velocity over the current year since 00:00 / 12 AM on January 1st in Eastern Time. - variant enum: -> { Lithic::AuthRules::VelocityLimitParamsPeriodWindow } - - # @!method self.variants - # @return [Array(Integer, Symbol, Lithic::Models::AuthRules::VelocityLimitParamsPeriodWindow)] - end - # @see Lithic::Models::AuthRules::VelocityLimitParams#scope module Scope extend Lithic::Internal::Type::Enum diff --git a/lib/lithic/models/auth_rules/velocity_limit_params_period_window.rb b/lib/lithic/models/auth_rules/velocity_limit_params_period_window.rb index dee36b52..b111308f 100644 --- a/lib/lithic/models/auth_rules/velocity_limit_params_period_window.rb +++ b/lib/lithic/models/auth_rules/velocity_limit_params_period_window.rb @@ -3,25 +3,247 @@ module Lithic module Models module AuthRules - # The window of time to calculate Spend Velocity over. - # - # - `DAY`: Velocity over the current day since midnight Eastern Time. - # - `WEEK`: Velocity over the current week since 00:00 / 12 AM on Monday in - # Eastern Time. - # - `MONTH`: Velocity over the current month since 00:00 / 12 AM on the first of - # the month in Eastern Time. - # - `YEAR`: Velocity over the current year since 00:00 / 12 AM on January 1st in - # Eastern Time. + # The size of the trailing window to calculate Spend Velocity over in seconds. The + # minimum value is 10 seconds, and the maximum value is 2678400 seconds (31 days). module VelocityLimitParamsPeriodWindow - extend Lithic::Internal::Type::Enum + extend Lithic::Internal::Type::Union - DAY = :DAY - WEEK = :WEEK - MONTH = :MONTH - YEAR = :YEAR + # The size of the trailing window to calculate Spend Velocity over in seconds. The minimum value is 10 seconds, and the maximum value is 2678400 seconds (31 days). + variant Integer - # @!method self.values - # @return [Array] + # The window of time to calculate Spend Velocity over. + # + # * `DAY`: Velocity over the current day since midnight Eastern Time. + # * `WEEK`: Velocity over the current week since 00:00 / 12 AM on Monday in Eastern Time. + # * `MONTH`: Velocity over the current month since 00:00 / 12 AM on the first of the month in Eastern Time. + # * `YEAR`: Velocity over the current year since 00:00 / 12 AM on January 1st in Eastern Time. + variant enum: -> { Lithic::AuthRules::VelocityLimitParamsPeriodWindow::FixedWindow } + + variant -> { Lithic::AuthRules::VelocityLimitParamsPeriodWindow::TrailingWindowObject } + + # Velocity over the current day since 00:00 / 12 AM in Eastern Time + variant -> { Lithic::AuthRules::VelocityLimitParamsPeriodWindow::FixedWindowDay } + + # Velocity over the current week since 00:00 / 12 AM in Eastern Time on specified `day_of_week` + variant -> { Lithic::AuthRules::VelocityLimitParamsPeriodWindow::FixedWindowWeek } + + # Velocity over the current month since 00:00 / 12 AM in Eastern Time on specified `day_of_month`. + variant -> { Lithic::AuthRules::VelocityLimitParamsPeriodWindow::FixedWindowMonth } + + # Velocity over the current year since 00:00 / 12 AM in Eastern Time on specified `month` and `day_of_month`. This validates the month and day of the year to start from is a real date. In the event that February 29th is selected, in non-leap years, the window will start from February 28th. + variant -> { Lithic::AuthRules::VelocityLimitParamsPeriodWindow::FixedWindowYear } + + # The window of time to calculate Spend Velocity over. + # + # - `DAY`: Velocity over the current day since midnight Eastern Time. + # - `WEEK`: Velocity over the current week since 00:00 / 12 AM on Monday in + # Eastern Time. + # - `MONTH`: Velocity over the current month since 00:00 / 12 AM on the first of + # the month in Eastern Time. + # - `YEAR`: Velocity over the current year since 00:00 / 12 AM on January 1st in + # Eastern Time. + module FixedWindow + extend Lithic::Internal::Type::Enum + + DAY = :DAY + WEEK = :WEEK + MONTH = :MONTH + YEAR = :YEAR + + # @!method self.values + # @return [Array] + end + + class TrailingWindowObject < Lithic::Internal::Type::BaseModel + # @!attribute duration + # The size of the trailing window to calculate Spend Velocity over in seconds. The + # minimum value is 10 seconds, and the maximum value is 2678400 seconds (31 days). + # + # @return [Integer, nil] + optional :duration, Integer + + # @!attribute type + # + # @return [Symbol, Lithic::Models::AuthRules::VelocityLimitParamsPeriodWindow::TrailingWindowObject::Type, nil] + optional :type, + enum: -> { Lithic::AuthRules::VelocityLimitParamsPeriodWindow::TrailingWindowObject::Type } + + # @!method initialize(duration: nil, type: nil) + # Some parameter documentations has been truncated, see + # {Lithic::Models::AuthRules::VelocityLimitParamsPeriodWindow::TrailingWindowObject} + # for more details. + # + # @param duration [Integer] The size of the trailing window to calculate Spend Velocity over in seconds. The + # + # @param type [Symbol, Lithic::Models::AuthRules::VelocityLimitParamsPeriodWindow::TrailingWindowObject::Type] + + # @see Lithic::Models::AuthRules::VelocityLimitParamsPeriodWindow::TrailingWindowObject#type + module Type + extend Lithic::Internal::Type::Enum + + CUSTOM = :CUSTOM + + # @!method self.values + # @return [Array] + end + end + + class FixedWindowDay < Lithic::Internal::Type::BaseModel + # @!attribute type + # + # @return [Symbol, Lithic::Models::AuthRules::VelocityLimitParamsPeriodWindow::FixedWindowDay::Type, nil] + optional :type, + enum: -> { + Lithic::AuthRules::VelocityLimitParamsPeriodWindow::FixedWindowDay::Type + } + + # @!method initialize(type: nil) + # Velocity over the current day since 00:00 / 12 AM in Eastern Time + # + # @param type [Symbol, Lithic::Models::AuthRules::VelocityLimitParamsPeriodWindow::FixedWindowDay::Type] + + # @see Lithic::Models::AuthRules::VelocityLimitParamsPeriodWindow::FixedWindowDay#type + module Type + extend Lithic::Internal::Type::Enum + + DAY = :DAY + + # @!method self.values + # @return [Array] + end + end + + class FixedWindowWeek < Lithic::Internal::Type::BaseModel + # @!attribute day_of_week + # The day of the week to start the week from. Following ISO-8601, 1 is Monday and + # 7 is Sunday. Defaults to Monday if not specified. + # + # @return [Integer, nil] + optional :day_of_week, Integer + + # @!attribute type + # + # @return [Symbol, Lithic::Models::AuthRules::VelocityLimitParamsPeriodWindow::FixedWindowWeek::Type, nil] + optional :type, + enum: -> { + Lithic::AuthRules::VelocityLimitParamsPeriodWindow::FixedWindowWeek::Type + } + + # @!method initialize(day_of_week: nil, type: nil) + # Some parameter documentations has been truncated, see + # {Lithic::Models::AuthRules::VelocityLimitParamsPeriodWindow::FixedWindowWeek} + # for more details. + # + # Velocity over the current week since 00:00 / 12 AM in Eastern Time on specified + # `day_of_week` + # + # @param day_of_week [Integer] The day of the week to start the week from. Following ISO-8601, 1 is Monday and + # + # @param type [Symbol, Lithic::Models::AuthRules::VelocityLimitParamsPeriodWindow::FixedWindowWeek::Type] + + # @see Lithic::Models::AuthRules::VelocityLimitParamsPeriodWindow::FixedWindowWeek#type + module Type + extend Lithic::Internal::Type::Enum + + WEEK = :WEEK + + # @!method self.values + # @return [Array] + end + end + + class FixedWindowMonth < Lithic::Internal::Type::BaseModel + # @!attribute day_of_month + # The day of the month to start from. Accepts values from 1 to 31, and will reset + # at the end of the month if the day exceeds the number of days in the month. + # Defaults to the 1st of the month if not specified. + # + # @return [Integer, nil] + optional :day_of_month, Integer + + # @!attribute type + # + # @return [Symbol, Lithic::Models::AuthRules::VelocityLimitParamsPeriodWindow::FixedWindowMonth::Type, nil] + optional :type, + enum: -> { + Lithic::AuthRules::VelocityLimitParamsPeriodWindow::FixedWindowMonth::Type + } + + # @!method initialize(day_of_month: nil, type: nil) + # Some parameter documentations has been truncated, see + # {Lithic::Models::AuthRules::VelocityLimitParamsPeriodWindow::FixedWindowMonth} + # for more details. + # + # Velocity over the current month since 00:00 / 12 AM in Eastern Time on specified + # `day_of_month`. + # + # @param day_of_month [Integer] The day of the month to start from. Accepts values from 1 to 31, and will reset + # + # @param type [Symbol, Lithic::Models::AuthRules::VelocityLimitParamsPeriodWindow::FixedWindowMonth::Type] + + # @see Lithic::Models::AuthRules::VelocityLimitParamsPeriodWindow::FixedWindowMonth#type + module Type + extend Lithic::Internal::Type::Enum + + MONTH = :MONTH + + # @!method self.values + # @return [Array] + end + end + + class FixedWindowYear < Lithic::Internal::Type::BaseModel + # @!attribute day_of_month + # The day of the month to start from. Defaults to the 1st of the month if not + # specified. + # + # @return [Integer, nil] + optional :day_of_month, Integer + + # @!attribute month + # The month to start from. 1 is January and 12 is December. Defaults to January if + # not specified. + # + # @return [Integer, nil] + optional :month, Integer + + # @!attribute type + # + # @return [Symbol, Lithic::Models::AuthRules::VelocityLimitParamsPeriodWindow::FixedWindowYear::Type, nil] + optional :type, + enum: -> { + Lithic::AuthRules::VelocityLimitParamsPeriodWindow::FixedWindowYear::Type + } + + # @!method initialize(day_of_month: nil, month: nil, type: nil) + # Some parameter documentations has been truncated, see + # {Lithic::Models::AuthRules::VelocityLimitParamsPeriodWindow::FixedWindowYear} + # for more details. + # + # Velocity over the current year since 00:00 / 12 AM in Eastern Time on specified + # `month` and `day_of_month`. This validates the month and day of the year to + # start from is a real date. In the event that February 29th is selected, in + # non-leap years, the window will start from February 28th. + # + # @param day_of_month [Integer] The day of the month to start from. Defaults to the 1st of the month if not spec + # + # @param month [Integer] The month to start from. 1 is January and 12 is December. Defaults to January if + # + # @param type [Symbol, Lithic::Models::AuthRules::VelocityLimitParamsPeriodWindow::FixedWindowYear::Type] + + # @see Lithic::Models::AuthRules::VelocityLimitParamsPeriodWindow::FixedWindowYear#type + module Type + extend Lithic::Internal::Type::Enum + + YEAR = :YEAR + + # @!method self.values + # @return [Array] + end + end + + # @!method self.variants + # @return [Array(Integer, Symbol, Lithic::Models::AuthRules::VelocityLimitParamsPeriodWindow::FixedWindow, Lithic::Models::AuthRules::VelocityLimitParamsPeriodWindow::TrailingWindowObject, Lithic::Models::AuthRules::VelocityLimitParamsPeriodWindow::FixedWindowDay, Lithic::Models::AuthRules::VelocityLimitParamsPeriodWindow::FixedWindowWeek, Lithic::Models::AuthRules::VelocityLimitParamsPeriodWindow::FixedWindowMonth, Lithic::Models::AuthRules::VelocityLimitParamsPeriodWindow::FixedWindowYear)] end end end diff --git a/lib/lithic/models/balance.rb b/lib/lithic/models/balance.rb index 72287ac0..1006c9c7 100644 --- a/lib/lithic/models/balance.rb +++ b/lib/lithic/models/balance.rb @@ -103,6 +103,7 @@ module FinancialAccountType ISSUING = :ISSUING OPERATING = :OPERATING RESERVE = :RESERVE + SECURITY = :SECURITY # @!method self.values # @return [Array] diff --git a/lib/lithic/models/balance_list_params.rb b/lib/lithic/models/balance_list_params.rb index 2d385e8b..e8b727eb 100644 --- a/lib/lithic/models/balance_list_params.rb +++ b/lib/lithic/models/balance_list_params.rb @@ -53,6 +53,7 @@ module FinancialAccountType ISSUING = :ISSUING OPERATING = :OPERATING RESERVE = :RESERVE + SECURITY = :SECURITY # @!method self.values # @return [Array] diff --git a/lib/lithic/models/card_create_params.rb b/lib/lithic/models/card_create_params.rb index dc90f82e..c27d3d31 100644 --- a/lib/lithic/models/card_create_params.rb +++ b/lib/lithic/models/card_create_params.rb @@ -108,6 +108,13 @@ class CardCreateParams < Lithic::Internal::Type::BaseModel # @return [String, nil] optional :replacement_account_token, String + # @!attribute replacement_comment + # Additional context or information related to the card that this card will + # replace. + # + # @return [String, nil] + optional :replacement_comment, String + # @!attribute replacement_for # Globally unique identifier for the card that this card will replace. If the card # type is `PHYSICAL` it will be replaced by a `PHYSICAL` card. If the card type is @@ -116,6 +123,38 @@ class CardCreateParams < Lithic::Internal::Type::BaseModel # @return [String, nil] optional :replacement_for, String + # @!attribute replacement_substatus + # Card state substatus values for the card that this card will replace: + # + # - `LOST` - The physical card is no longer in the cardholder's possession due to + # being lost or never received by the cardholder. + # - `COMPROMISED` - Card information has been exposed, potentially leading to + # unauthorized access. This may involve physical card theft, cloning, or online + # data breaches. + # - `DAMAGED` - The physical card is not functioning properly, such as having chip + # failures or a demagnetized magnetic stripe. + # - `END_USER_REQUEST` - The cardholder requested the closure of the card for + # reasons unrelated to fraud or damage, such as switching to a different product + # or closing the account. + # - `ISSUER_REQUEST` - The issuer closed the card for reasons unrelated to fraud + # or damage, such as account inactivity, product or policy changes, or + # technology upgrades. + # - `NOT_ACTIVE` - The card hasn’t had any transaction activity for a specified + # period, applicable to statuses like `PAUSED` or `CLOSED`. + # - `SUSPICIOUS_ACTIVITY` - The card has one or more suspicious transactions or + # activities that require review. This can involve prompting the cardholder to + # confirm legitimate use or report confirmed fraud. + # - `INTERNAL_REVIEW` - The card is temporarily paused pending further internal + # review. + # - `EXPIRED` - The card has expired and has been closed without being reissued. + # - `UNDELIVERABLE` - The card cannot be delivered to the cardholder and has been + # returned. + # - `OTHER` - The reason for the status does not fall into any of the above + # categories. A comment should be provided to specify the reason. + # + # @return [Symbol, Lithic::Models::CardCreateParams::ReplacementSubstatus, nil] + optional :replacement_substatus, enum: -> { Lithic::CardCreateParams::ReplacementSubstatus } + # @!attribute shipping_address # # @return [Lithic::Models::ShippingAddress, nil] @@ -178,7 +217,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_for: nil, shipping_address: nil, shipping_method: nil, spend_limit: nil, spend_limit_duration: nil, state: nil, request_options: {}) + # @!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: {}) # Some parameter documentations has been truncated, see # {Lithic::Models::CardCreateParams} for more details. # @@ -204,8 +243,12 @@ class CardCreateParams < Lithic::Internal::Type::BaseModel # # @param replacement_account_token [String] Restricted field limited to select use cases. Lithic will reach out directly if # + # @param replacement_comment [String] Additional context or information related to the card that this card will replac + # # @param replacement_for [String] Globally unique identifier for the card that this card will replace. If the card # + # @param replacement_substatus [Symbol, Lithic::Models::CardCreateParams::ReplacementSubstatus] Card state substatus values for the card that this card will replace: + # # @param shipping_address [Lithic::Models::ShippingAddress] # # @param shipping_method [Symbol, Lithic::Models::CardCreateParams::ShippingMethod] Shipping method for the card. Only applies to cards of type PHYSICAL. @@ -248,6 +291,52 @@ module Type # @return [Array] end + # Card state substatus values for the card that this card will replace: + # + # - `LOST` - The physical card is no longer in the cardholder's possession due to + # being lost or never received by the cardholder. + # - `COMPROMISED` - Card information has been exposed, potentially leading to + # unauthorized access. This may involve physical card theft, cloning, or online + # data breaches. + # - `DAMAGED` - The physical card is not functioning properly, such as having chip + # failures or a demagnetized magnetic stripe. + # - `END_USER_REQUEST` - The cardholder requested the closure of the card for + # reasons unrelated to fraud or damage, such as switching to a different product + # or closing the account. + # - `ISSUER_REQUEST` - The issuer closed the card for reasons unrelated to fraud + # or damage, such as account inactivity, product or policy changes, or + # technology upgrades. + # - `NOT_ACTIVE` - The card hasn’t had any transaction activity for a specified + # period, applicable to statuses like `PAUSED` or `CLOSED`. + # - `SUSPICIOUS_ACTIVITY` - The card has one or more suspicious transactions or + # activities that require review. This can involve prompting the cardholder to + # confirm legitimate use or report confirmed fraud. + # - `INTERNAL_REVIEW` - The card is temporarily paused pending further internal + # review. + # - `EXPIRED` - The card has expired and has been closed without being reissued. + # - `UNDELIVERABLE` - The card cannot be delivered to the cardholder and has been + # returned. + # - `OTHER` - The reason for the status does not fall into any of the above + # categories. A comment should be provided to specify the reason. + module ReplacementSubstatus + extend Lithic::Internal::Type::Enum + + LOST = :LOST + COMPROMISED = :COMPROMISED + DAMAGED = :DAMAGED + END_USER_REQUEST = :END_USER_REQUEST + ISSUER_REQUEST = :ISSUER_REQUEST + NOT_ACTIVE = :NOT_ACTIVE + SUSPICIOUS_ACTIVITY = :SUSPICIOUS_ACTIVITY + INTERNAL_REVIEW = :INTERNAL_REVIEW + EXPIRED = :EXPIRED + UNDELIVERABLE = :UNDELIVERABLE + OTHER = :OTHER + + # @!method self.values + # @return [Array] + end + # Shipping method for the card. Only applies to cards of type PHYSICAL. Use of # options besides `STANDARD` require additional permissions. # diff --git a/lib/lithic/models/card_program.rb b/lib/lithic/models/card_program.rb index a1201c2c..f6f296ee 100644 --- a/lib/lithic/models/card_program.rb +++ b/lib/lithic/models/card_program.rb @@ -34,6 +34,13 @@ 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. # @@ -47,7 +54,7 @@ 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:, cardholder_currency: nil, settlement_currencies: nil) + # @!method initialize(token:, created:, name:, pan_range_end:, pan_range_start:, account_level_management_enabled: nil, cardholder_currency: nil, settlement_currencies: nil) # Some parameter documentations has been truncated, see # {Lithic::Models::CardProgram} for more details. # @@ -61,6 +68,8 @@ 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_update_params.rb b/lib/lithic/models/card_update_params.rb index 35350357..e41e4fea 100644 --- a/lib/lithic/models/card_update_params.rb +++ b/lib/lithic/models/card_update_params.rb @@ -7,6 +7,12 @@ class CardUpdateParams < Lithic::Internal::Type::BaseModel extend Lithic::Internal::Type::RequestParameters::Converter include Lithic::Internal::Type::RequestParameters + # @!attribute comment + # Additional context or information related to the card. + # + # @return [String, nil] + optional :comment, String + # @!attribute digital_card_art_token # Specifies the digital card art to be displayed in the user’s digital wallet # after tokenization. This artwork must be approved by Mastercard and configured @@ -22,6 +28,13 @@ class CardUpdateParams < Lithic::Internal::Type::BaseModel # @return [String, nil] optional :memo, String + # @!attribute network_program_token + # Globally unique identifier for the card's network program. Currently applicable + # to Visa cards participating in Account Level Management only. + # + # @return [String, nil] + optional :network_program_token, String + # @!attribute pin # Encrypted PIN block (in base64). Only applies to cards of type `PHYSICAL` and # `VIRTUAL`. Changing PIN also resets PIN status to `OK`. See @@ -77,14 +90,50 @@ class CardUpdateParams < Lithic::Internal::Type::BaseModel # @return [Symbol, Lithic::Models::CardUpdateParams::State, nil] optional :state, enum: -> { Lithic::CardUpdateParams::State } - # @!method initialize(digital_card_art_token: nil, memo: nil, pin: nil, pin_status: nil, spend_limit: nil, spend_limit_duration: nil, state: nil, request_options: {}) + # @!attribute substatus + # Card state substatus values: + # + # - `LOST` - The physical card is no longer in the cardholder's possession due to + # being lost or never received by the cardholder. + # - `COMPROMISED` - Card information has been exposed, potentially leading to + # unauthorized access. This may involve physical card theft, cloning, or online + # data breaches. + # - `DAMAGED` - The physical card is not functioning properly, such as having chip + # failures or a demagnetized magnetic stripe. + # - `END_USER_REQUEST` - The cardholder requested the closure of the card for + # reasons unrelated to fraud or damage, such as switching to a different product + # or closing the account. + # - `ISSUER_REQUEST` - The issuer closed the card for reasons unrelated to fraud + # or damage, such as account inactivity, product or policy changes, or + # technology upgrades. + # - `NOT_ACTIVE` - The card hasn’t had any transaction activity for a specified + # period, applicable to statuses like `PAUSED` or `CLOSED`. + # - `SUSPICIOUS_ACTIVITY` - The card has one or more suspicious transactions or + # activities that require review. This can involve prompting the cardholder to + # confirm legitimate use or report confirmed fraud. + # - `INTERNAL_REVIEW` - The card is temporarily paused pending further internal + # review. + # - `EXPIRED` - The card has expired and has been closed without being reissued. + # - `UNDELIVERABLE` - The card cannot be delivered to the cardholder and has been + # returned. + # - `OTHER` - The reason for the status does not fall into any of the above + # categories. A comment should be provided to specify the reason. + # + # @return [Symbol, Lithic::Models::CardUpdateParams::Substatus, nil] + optional :substatus, enum: -> { Lithic::CardUpdateParams::Substatus } + + # @!method initialize(comment: nil, digital_card_art_token: nil, memo: nil, network_program_token: nil, pin: nil, pin_status: nil, spend_limit: nil, spend_limit_duration: nil, state: nil, substatus: nil, request_options: {}) # Some parameter documentations has been truncated, see # {Lithic::Models::CardUpdateParams} for more details. # + # @param comment [String] Additional context or information related to the card. + # # @param digital_card_art_token [String] Specifies the digital card art to be displayed in the user’s digital wallet afte # # @param memo [String] Friendly name to identify the card. # + # @param network_program_token [String] Globally unique identifier for the card's network program. Currently applicable + # # @param pin [String] Encrypted PIN block (in base64). Only applies to cards of type `PHYSICAL` and `V # # @param pin_status [Symbol, Lithic::Models::CardUpdateParams::PinStatus] Indicates if a card is blocked due a PIN status issue (e.g. excessive incorrect @@ -95,6 +144,8 @@ class CardUpdateParams < Lithic::Internal::Type::BaseModel # # @param state [Symbol, Lithic::Models::CardUpdateParams::State] Card state values: # + # @param substatus [Symbol, Lithic::Models::CardUpdateParams::Substatus] Card state substatus values: + # # @param request_options [Lithic::RequestOptions, Hash{Symbol=>Object}] # Indicates if a card is blocked due a PIN status issue (e.g. excessive incorrect @@ -126,6 +177,52 @@ module State # @!method self.values # @return [Array] end + + # Card state substatus values: + # + # - `LOST` - The physical card is no longer in the cardholder's possession due to + # being lost or never received by the cardholder. + # - `COMPROMISED` - Card information has been exposed, potentially leading to + # unauthorized access. This may involve physical card theft, cloning, or online + # data breaches. + # - `DAMAGED` - The physical card is not functioning properly, such as having chip + # failures or a demagnetized magnetic stripe. + # - `END_USER_REQUEST` - The cardholder requested the closure of the card for + # reasons unrelated to fraud or damage, such as switching to a different product + # or closing the account. + # - `ISSUER_REQUEST` - The issuer closed the card for reasons unrelated to fraud + # or damage, such as account inactivity, product or policy changes, or + # technology upgrades. + # - `NOT_ACTIVE` - The card hasn’t had any transaction activity for a specified + # period, applicable to statuses like `PAUSED` or `CLOSED`. + # - `SUSPICIOUS_ACTIVITY` - The card has one or more suspicious transactions or + # activities that require review. This can involve prompting the cardholder to + # confirm legitimate use or report confirmed fraud. + # - `INTERNAL_REVIEW` - The card is temporarily paused pending further internal + # review. + # - `EXPIRED` - The card has expired and has been closed without being reissued. + # - `UNDELIVERABLE` - The card cannot be delivered to the cardholder and has been + # returned. + # - `OTHER` - The reason for the status does not fall into any of the above + # categories. A comment should be provided to specify the reason. + module Substatus + extend Lithic::Internal::Type::Enum + + LOST = :LOST + COMPROMISED = :COMPROMISED + DAMAGED = :DAMAGED + END_USER_REQUEST = :END_USER_REQUEST + ISSUER_REQUEST = :ISSUER_REQUEST + NOT_ACTIVE = :NOT_ACTIVE + SUSPICIOUS_ACTIVITY = :SUSPICIOUS_ACTIVITY + INTERNAL_REVIEW = :INTERNAL_REVIEW + EXPIRED = :EXPIRED + UNDELIVERABLE = :UNDELIVERABLE + OTHER = :OTHER + + # @!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 index db70fdc5..bd28f764 100644 --- a/lib/lithic/models/cards/balance_list_response.rb +++ b/lib/lithic/models/cards/balance_list_response.rb @@ -104,6 +104,7 @@ module Type ISSUING = :ISSUING OPERATING = :OPERATING RESERVE = :RESERVE + SECURITY = :SECURITY # @!method self.values # @return [Array] diff --git a/lib/lithic/models/external_resource.rb b/lib/lithic/models/external_resource.rb new file mode 100644 index 00000000..0979bb12 --- /dev/null +++ b/lib/lithic/models/external_resource.rb @@ -0,0 +1,34 @@ +# frozen_string_literal: true + +module Lithic + module Models + class ExternalResource < Lithic::Internal::Type::BaseModel + # @!attribute external_resource_token + # Token identifying the external resource + # + # @return [String] + required :external_resource_token, String + + # @!attribute external_resource_type + # Type of external resource associated with the management operation + # + # @return [Symbol, Lithic::Models::ExternalResourceType] + required :external_resource_type, enum: -> { Lithic::ExternalResourceType } + + # @!attribute external_resource_sub_token + # Token identifying the external resource sub-resource + # + # @return [String, nil] + optional :external_resource_sub_token, String + + # @!method initialize(external_resource_token:, external_resource_type:, external_resource_sub_token: nil) + # External resource associated with the management operation + # + # @param external_resource_token [String] Token identifying the external resource + # + # @param external_resource_type [Symbol, Lithic::Models::ExternalResourceType] Type of external resource associated with the management operation + # + # @param external_resource_sub_token [String] Token identifying the external resource sub-resource + end + end +end diff --git a/lib/lithic/models/external_resource_type.rb b/lib/lithic/models/external_resource_type.rb new file mode 100644 index 00000000..4c4030f9 --- /dev/null +++ b/lib/lithic/models/external_resource_type.rb @@ -0,0 +1,18 @@ +# frozen_string_literal: true + +module Lithic + module Models + # Type of external resource associated with the management operation + module ExternalResourceType + extend Lithic::Internal::Type::Enum + + STATEMENT = :STATEMENT + COLLECTION = :COLLECTION + DISPUTE = :DISPUTE + UNKNOWN = :UNKNOWN + + # @!method self.values + # @return [Array] + end + end +end diff --git a/lib/lithic/models/financial_account_list_params.rb b/lib/lithic/models/financial_account_list_params.rb index e2c0216a..c1ca7eac 100644 --- a/lib/lithic/models/financial_account_list_params.rb +++ b/lib/lithic/models/financial_account_list_params.rb @@ -41,6 +41,7 @@ module Type ISSUING = :ISSUING OPERATING = :OPERATING RESERVE = :RESERVE + SECURITY = :SECURITY # @!method self.values # @return [Array] diff --git a/lib/lithic/models/financial_accounts/balance_list_response.rb b/lib/lithic/models/financial_accounts/balance_list_response.rb index c0480108..7b07579f 100644 --- a/lib/lithic/models/financial_accounts/balance_list_response.rb +++ b/lib/lithic/models/financial_accounts/balance_list_response.rb @@ -104,6 +104,7 @@ module Type ISSUING = :ISSUING OPERATING = :OPERATING RESERVE = :RESERVE + SECURITY = :SECURITY # @!method self.values # @return [Array] diff --git a/lib/lithic/models/management_operation_create_params.rb b/lib/lithic/models/management_operation_create_params.rb index fd82b432..1a60e7ae 100644 --- a/lib/lithic/models/management_operation_create_params.rb +++ b/lib/lithic/models/management_operation_create_params.rb @@ -47,6 +47,12 @@ class ManagementOperationCreateParams < Lithic::Internal::Type::BaseModel # @return [String, nil] optional :memo, String + # @!attribute on_closed_account + # What to do if the financial account is closed when posting an operation + # + # @return [Symbol, Lithic::Models::ManagementOperationCreateParams::OnClosedAccount, nil] + optional :on_closed_account, enum: -> { Lithic::ManagementOperationCreateParams::OnClosedAccount } + # @!attribute subtype # # @return [String, nil] @@ -57,17 +63,29 @@ class ManagementOperationCreateParams < Lithic::Internal::Type::BaseModel # @return [String, nil] optional :user_defined_id, String - # @!method initialize(amount:, category:, direction:, effective_date:, event_type:, financial_account_token:, token: nil, memo: nil, subtype: nil, user_defined_id: nil, request_options: {}) + # @!method initialize(amount:, category:, direction:, effective_date:, event_type:, financial_account_token:, token: nil, memo: nil, on_closed_account: nil, subtype: nil, user_defined_id: nil, request_options: {}) # @param amount [Integer] + # # @param category [Symbol, Lithic::Models::ManagementOperationCreateParams::Category] + # # @param direction [Symbol, Lithic::Models::ManagementOperationCreateParams::Direction] + # # @param effective_date [Date] + # # @param event_type [Symbol, Lithic::Models::ManagementOperationCreateParams::EventType] + # # @param financial_account_token [String] + # # @param token [String] + # # @param memo [String] + # + # @param on_closed_account [Symbol, Lithic::Models::ManagementOperationCreateParams::OnClosedAccount] What to do if the financial account is closed when posting an operation + # # @param subtype [String] + # # @param user_defined_id [String] + # # @param request_options [Lithic::RequestOptions, Hash{Symbol=>Object}] module Category @@ -119,6 +137,17 @@ module EventType # @!method self.values # @return [Array] end + + # What to do if the financial account is closed when posting an operation + module OnClosedAccount + extend Lithic::Internal::Type::Enum + + FAIL = :FAIL + USE_SUSPENSE = :USE_SUSPENSE + + # @!method self.values + # @return [Array] + end end end end diff --git a/lib/lithic/models/management_operation_transaction.rb b/lib/lithic/models/management_operation_transaction.rb index 848adf04..f475ad68 100644 --- a/lib/lithic/models/management_operation_transaction.rb +++ b/lib/lithic/models/management_operation_transaction.rb @@ -73,25 +73,46 @@ class ManagementOperationTransaction < Lithic::Internal::Type::BaseModel # @return [Time] required :updated, Time + # @!attribute external_resource + # External resource associated with the management operation + # + # @return [Lithic::Models::ExternalResource, nil] + optional :external_resource, -> { Lithic::ExternalResource }, nil?: true + # @!attribute user_defined_id # # @return [String, nil] optional :user_defined_id, String - # @!method initialize(token:, category:, created:, currency:, direction:, events:, financial_account_token:, pending_amount:, result:, settled_amount:, status:, transaction_series:, updated:, user_defined_id: nil) + # @!method initialize(token:, category:, created:, currency:, direction:, events:, financial_account_token:, pending_amount:, result:, settled_amount:, status:, transaction_series:, updated:, external_resource: nil, user_defined_id: nil) # @param token [String] + # # @param category [Symbol, Lithic::Models::ManagementOperationTransaction::Category] + # # @param created [Time] + # # @param currency [String] + # # @param direction [Symbol, Lithic::Models::ManagementOperationTransaction::Direction] + # # @param events [Array] + # # @param financial_account_token [String] + # # @param pending_amount [Integer] + # # @param result [Symbol, Lithic::Models::ManagementOperationTransaction::Result] + # # @param settled_amount [Integer] + # # @param status [Symbol, Lithic::Models::ManagementOperationTransaction::Status] + # # @param transaction_series [Lithic::Models::ManagementOperationTransaction::TransactionSeries, nil] + # # @param updated [Time] + # + # @param external_resource [Lithic::Models::ExternalResource, nil] External resource associated with the management operation + # # @param user_defined_id [String] # @see Lithic::Models::ManagementOperationTransaction#category diff --git a/lib/lithic/models/network_program.rb b/lib/lithic/models/network_program.rb new file mode 100644 index 00000000..889a82b7 --- /dev/null +++ b/lib/lithic/models/network_program.rb @@ -0,0 +1,41 @@ +# frozen_string_literal: true + +module Lithic + module Models + # @see Lithic::Resources::NetworkPrograms#retrieve + class NetworkProgram < Lithic::Internal::Type::BaseModel + # @!attribute token + # Lithic-generated unique identifier for the program + # + # @return [String] + required :token, String + + # @!attribute default_product_code + # Network product ID associated with this program. + # + # @return [String] + required :default_product_code, String + + # @!attribute name + # The name of the network program. + # + # @return [String] + required :name, String + + # @!attribute registered_program_identification_number + # RPIN value assigned by the network. + # + # @return [String] + required :registered_program_identification_number, String + + # @!method initialize(token:, default_product_code:, name:, registered_program_identification_number:) + # @param token [String] Lithic-generated unique identifier for the program + # + # @param default_product_code [String] Network product ID associated with this program. + # + # @param name [String] The name of the network program. + # + # @param registered_program_identification_number [String] RPIN value assigned by the network. + end + end +end diff --git a/lib/lithic/models/network_program_list_params.rb b/lib/lithic/models/network_program_list_params.rb new file mode 100644 index 00000000..8626339c --- /dev/null +++ b/lib/lithic/models/network_program_list_params.rb @@ -0,0 +1,43 @@ +# frozen_string_literal: true + +module Lithic + module Models + # @see Lithic::Resources::NetworkPrograms#list + class NetworkProgramListParams < 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 page_size + # Page size (for pagination). + # + # @return [Integer, nil] + optional :page_size, Integer + + # @!method initialize(begin_: nil, end_: nil, page_size: nil, request_options: {}) + # Some parameter documentations has been truncated, see + # {Lithic::Models::NetworkProgramListParams} 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 page_size [Integer] Page size (for pagination). + # + # @param request_options [Lithic::RequestOptions, Hash{Symbol=>Object}] + end + end +end diff --git a/lib/lithic/models/network_program_retrieve_params.rb b/lib/lithic/models/network_program_retrieve_params.rb new file mode 100644 index 00000000..80170a0e --- /dev/null +++ b/lib/lithic/models/network_program_retrieve_params.rb @@ -0,0 +1,14 @@ +# frozen_string_literal: true + +module Lithic + module Models + # @see Lithic::Resources::NetworkPrograms#retrieve + class NetworkProgramRetrieveParams < 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/non_pci_card.rb b/lib/lithic/models/non_pci_card.rb index 29472ae2..127e41f3 100644 --- a/lib/lithic/models/non_pci_card.rb +++ b/lib/lithic/models/non_pci_card.rb @@ -123,6 +123,12 @@ class NonPCICard < Lithic::Internal::Type::BaseModel # @return [String, nil] optional :cardholder_currency, String + # @!attribute comment + # Additional context or information related to the card. + # + # @return [String, nil] + optional :comment, String + # @!attribute digital_card_art_token # Specifies the digital card art to be displayed in the user's digital wallet # after tokenization. This artwork must be approved by Mastercard and configured @@ -155,6 +161,14 @@ class NonPCICard < Lithic::Internal::Type::BaseModel # @return [String, nil] optional :memo, String + # @!attribute network_program_token + # Globally unique identifier for the card's network program. Null if the card is + # not associated with a network program. Currently applicable to Visa cards + # participating in Account Level Management only + # + # @return [String, nil] + optional :network_program_token, String, nil?: true + # @!attribute pending_commands # Indicates if there are offline PIN changes pending card interaction with an # offline PIN terminal. Possible commands are: CHANGE_PIN, UNBLOCK_PIN. Applicable @@ -178,7 +192,32 @@ class NonPCICard < Lithic::Internal::Type::BaseModel # @return [String, nil] optional :replacement_for, String, nil?: true - # @!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, digital_card_art_token: nil, exp_month: nil, exp_year: nil, hostname: nil, memo: nil, pending_commands: nil, product_id: nil, replacement_for: nil) + # @!attribute substatus + # Card state substatus values: _ `LOST` - The physical card is no longer in the + # cardholder's possession due to being lost or never received by the cardholder. _ + # `COMPROMISED` - Card information has been exposed, potentially leading to + # unauthorized access. This may involve physical card theft, cloning, or online + # data breaches. _ `DAMAGED` - The physical card is not functioning properly, such + # as having chip failures or a demagnetized magnetic stripe. _ + # `END_USER_REQUEST` - The cardholder requested the closure of the card for + # reasons unrelated to fraud or damage, such as switching to a different product + # or closing the account. _ `ISSUER_REQUEST` - The issuer closed the card for + # reasons unrelated to fraud or damage, such as account inactivity, product or + # policy changes, or technology upgrades. _ `NOT_ACTIVE` - The card hasn’t had any + # transaction activity for a specified period, applicable to statuses like + # `PAUSED` or `CLOSED`. _ `SUSPICIOUS_ACTIVITY` - The card has one or more + # suspicious transactions or activities that require review. This can involve + # prompting the cardholder to confirm legitimate use or report confirmed fraud. _ + # `INTERNAL_REVIEW` - The card is temporarily paused pending further internal + # review. _ `EXPIRED` - The card has expired and has been closed without being + # reissued. _ `UNDELIVERABLE` - The card cannot be delivered to the cardholder and + # has been returned. \* `OTHER` - The reason for the status does not fall into any + # of the above categories. A comment can be provided to specify the reason. + # + # @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) # Some parameter documentations has been truncated, see # {Lithic::Models::NonPCICard} for more details. # @@ -212,6 +251,8 @@ class NonPCICard < Lithic::Internal::Type::BaseModel # # @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. + # # @param digital_card_art_token [String] Specifies the digital card art to be displayed in the user's digital wallet afte # # @param exp_month [String] Two digit (MM) expiry month. @@ -222,11 +263,16 @@ class NonPCICard < Lithic::Internal::Type::BaseModel # # @param memo [String] Friendly name to identify the card. # + # @param network_program_token [String, nil] Globally unique identifier for the card's network program. Null if the card is n + # # @param pending_commands [Array] Indicates if there are offline PIN changes pending card interaction with an offl # # @param product_id [String] Only applicable to cards of type `PHYSICAL`. This must be configured with Lithic # # @param replacement_for [String, nil] If the card is a replacement for another card, the globally unique identifier fo + # + # @param substatus [Symbol, Lithic::Models::NonPCICard::Substatus] Card state substatus values: \* `LOST` - The physical card is no longer in the + # ca # @see Lithic::Models::NonPCICard#funding class Funding < Lithic::Internal::Type::BaseModel @@ -401,6 +447,47 @@ module Type # @!method self.values # @return [Array] end + + # Card state substatus values: _ `LOST` - The physical card is no longer in the + # cardholder's possession due to being lost or never received by the cardholder. _ + # `COMPROMISED` - Card information has been exposed, potentially leading to + # unauthorized access. This may involve physical card theft, cloning, or online + # data breaches. _ `DAMAGED` - The physical card is not functioning properly, such + # as having chip failures or a demagnetized magnetic stripe. _ + # `END_USER_REQUEST` - The cardholder requested the closure of the card for + # reasons unrelated to fraud or damage, such as switching to a different product + # or closing the account. _ `ISSUER_REQUEST` - The issuer closed the card for + # reasons unrelated to fraud or damage, such as account inactivity, product or + # policy changes, or technology upgrades. _ `NOT_ACTIVE` - The card hasn’t had any + # transaction activity for a specified period, applicable to statuses like + # `PAUSED` or `CLOSED`. _ `SUSPICIOUS_ACTIVITY` - The card has one or more + # suspicious transactions or activities that require review. This can involve + # prompting the cardholder to confirm legitimate use or report confirmed fraud. _ + # `INTERNAL_REVIEW` - The card is temporarily paused pending further internal + # review. _ `EXPIRED` - The card has expired and has been closed without being + # reissued. _ `UNDELIVERABLE` - The card cannot be delivered to the cardholder and + # has been returned. \* `OTHER` - The reason for the status does not fall into any + # of the above categories. A comment can be provided to specify the reason. + # + # @see Lithic::Models::NonPCICard#substatus + module Substatus + extend Lithic::Internal::Type::Enum + + LOST = :LOST + COMPROMISED = :COMPROMISED + DAMAGED = :DAMAGED + END_USER_REQUEST = :END_USER_REQUEST + ISSUER_REQUEST = :ISSUER_REQUEST + NOT_ACTIVE = :NOT_ACTIVE + SUSPICIOUS_ACTIVITY = :SUSPICIOUS_ACTIVITY + INTERNAL_REVIEW = :INTERNAL_REVIEW + EXPIRED = :EXPIRED + UNDELIVERABLE = :UNDELIVERABLE + OTHER = :OTHER + + # @!method self.values + # @return [Array] + end end end end diff --git a/lib/lithic/models/payment_simulate_action_params.rb b/lib/lithic/models/payment_simulate_action_params.rb index 9aa298ae..4f5756b1 100644 --- a/lib/lithic/models/payment_simulate_action_params.rb +++ b/lib/lithic/models/payment_simulate_action_params.rb @@ -43,6 +43,7 @@ module EventType ACH_ORIGINATION_PROCESSED = :ACH_ORIGINATION_PROCESSED ACH_ORIGINATION_SETTLED = :ACH_ORIGINATION_SETTLED ACH_RECEIPT_SETTLED = :ACH_RECEIPT_SETTLED + ACH_RECEIPT_RELEASED = :ACH_RECEIPT_RELEASED ACH_RETURN_INITIATED = :ACH_RETURN_INITIATED ACH_RETURN_PROCESSED = :ACH_RETURN_PROCESSED ACH_RETURN_SETTLED = :ACH_RETURN_SETTLED diff --git a/lib/lithic/models/transaction.rb b/lib/lithic/models/transaction.rb index aa92dc2c..926327c5 100644 --- a/lib/lithic/models/transaction.rb +++ b/lib/lithic/models/transaction.rb @@ -372,20 +372,25 @@ class Avs < Lithic::Internal::Type::BaseModel # @see Lithic::Models::Transaction#cardholder_authentication class CardholderAuthentication < Lithic::Internal::Type::BaseModel # @!attribute three_ds_version + # @deprecated + # # The 3DS version used for the authentication # # @return [String, nil] required :three_ds_version, String, api_name: :"3ds_version", nil?: true # @!attribute acquirer_exemption - # Whether an acquirer exemption applied to the transaction. + # @deprecated + # + # Whether an acquirer exemption applied to the transaction. Not currently + # populated and will be removed in the future. # # @return [Symbol, Lithic::Models::Transaction::CardholderAuthentication::AcquirerExemption] required :acquirer_exemption, enum: -> { Lithic::Transaction::CardholderAuthentication::AcquirerExemption } # @!attribute authentication_result - # Indicates what the outcome of the 3DS authentication process is. + # Indicates the outcome of the 3DS authentication process. # # @return [Symbol, Lithic::Models::Transaction::CardholderAuthentication::AuthenticationResult] required :authentication_result, @@ -401,12 +406,10 @@ class CardholderAuthentication < Lithic::Internal::Type::BaseModel # 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. - # - # * `ACQUIRER_EXEMPTION`: The acquirer utilised an exemption to bypass Strong Customer Authentication (`transStatus = N`, or `transStatus = I`). Liability remains with the acquirer and in this case the `acquirer_exemption` field is expected to be not `NONE`. - # - # * `NONE`: Chargeback liability shift has not shifted to the issuer, i.e. the merchant is liable. - # + # - `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. @@ -424,6 +427,8 @@ class CardholderAuthentication < Lithic::Internal::Type::BaseModel required :three_ds_authentication_token, String, nil?: true # @!attribute verification_attempted + # @deprecated + # # Indicates whether a 3DS challenge flow was used, and if so, what the # verification method was. (deprecated, use `authentication_result`) # @@ -432,6 +437,8 @@ class CardholderAuthentication < Lithic::Internal::Type::BaseModel enum: -> { Lithic::Transaction::CardholderAuthentication::VerificationAttempted } # @!attribute verification_result + # @deprecated + # # Indicates whether a transaction is considered 3DS authenticated. (deprecated, # use `authentication_result`) # @@ -452,9 +459,9 @@ class CardholderAuthentication < Lithic::Internal::Type::BaseModel # # @param three_ds_version [String, nil] The 3DS version used for the authentication # - # @param acquirer_exemption [Symbol, Lithic::Models::Transaction::CardholderAuthentication::AcquirerExemption] Whether an acquirer exemption applied to the transaction. + # @param acquirer_exemption [Symbol, Lithic::Models::Transaction::CardholderAuthentication::AcquirerExemption] Whether an acquirer exemption applied to the transaction. Not currently populate # - # @param authentication_result [Symbol, Lithic::Models::Transaction::CardholderAuthentication::AuthenticationResult] Indicates what the outcome of the 3DS authentication process is. + # @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. # @@ -468,7 +475,10 @@ class CardholderAuthentication < Lithic::Internal::Type::BaseModel # # @param authentication_method [Symbol, Lithic::Models::Transaction::CardholderAuthentication::AuthenticationMethod] Indicates the method used to authenticate the cardholder. - # Whether an acquirer exemption applied to the transaction. + # @deprecated + # + # Whether an acquirer exemption applied to the transaction. Not currently + # populated and will be removed in the future. # # @see Lithic::Models::Transaction::CardholderAuthentication#acquirer_exemption module AcquirerExemption @@ -487,7 +497,7 @@ module AcquirerExemption # @return [Array] end - # Indicates what the outcome of the 3DS authentication process is. + # Indicates the outcome of the 3DS authentication process. # # @see Lithic::Models::Transaction::CardholderAuthentication#authentication_result module AuthenticationResult @@ -522,12 +532,10 @@ module DecisionMadeBy # 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. - # - # * `ACQUIRER_EXEMPTION`: The acquirer utilised an exemption to bypass Strong Customer Authentication (`transStatus = N`, or `transStatus = I`). Liability remains with the acquirer and in this case the `acquirer_exemption` field is expected to be not `NONE`. - # - # * `NONE`: Chargeback liability shift has not shifted to the issuer, i.e. the merchant is liable. - # + # - `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. @@ -537,14 +545,15 @@ module LiabilityShift extend Lithic::Internal::Type::Enum LIABILITY_SHIFT_3DS_AUTHENTICATED = :"3DS_AUTHENTICATED" - ACQUIRER_EXEMPTION = :ACQUIRER_EXEMPTION - NONE = :NONE TOKEN_AUTHENTICATED = :TOKEN_AUTHENTICATED + NONE = :NONE # @!method self.values # @return [Array] end + # @deprecated + # # Indicates whether a 3DS challenge flow was used, and if so, what the # verification method was. (deprecated, use `authentication_result`) # @@ -559,6 +568,8 @@ module VerificationAttempted # @return [Array] end + # @deprecated + # # Indicates whether a transaction is considered 3DS authenticated. (deprecated, # use `authentication_result`) # diff --git a/lib/lithic/resources/accounts.rb b/lib/lithic/resources/accounts.rb index 7518354c..9369732f 100644 --- a/lib/lithic/resources/accounts.rb +++ b/lib/lithic/resources/accounts.rb @@ -30,10 +30,12 @@ def retrieve(account_token, params = {}) # accounts that are part of the program managed by this API key. Accounts that are # in the `PAUSED` state will not be able to transact or create new cards. # - # @overload update(account_token, daily_spend_limit: nil, lifetime_spend_limit: nil, monthly_spend_limit: nil, state: nil, verification_address: nil, request_options: {}) + # @overload update(account_token, comment: nil, daily_spend_limit: nil, lifetime_spend_limit: nil, monthly_spend_limit: nil, state: nil, substatus: nil, verification_address: nil, request_options: {}) # # @param account_token [String] Globally unique identifier for account. # + # @param comment [String] Additional context or information related to the account. + # # @param daily_spend_limit [Integer] Amount (in cents) for the account's daily spend limit (e.g. 100000 would be a $1 # # @param lifetime_spend_limit [Integer] Amount (in cents) for the account's lifetime spend limit (e.g. 100000 would be a @@ -42,6 +44,8 @@ def retrieve(account_token, params = {}) # # @param state [Symbol, Lithic::Models::AccountUpdateParams::State] Account states. # + # @param substatus [Symbol, Lithic::Models::AccountUpdateParams::Substatus] Account state substatus values: + # # @param verification_address [Lithic::Models::AccountUpdateParams::VerificationAddress] Address used during Address Verification Service (AVS) checks during transaction # # @param request_options [Lithic::RequestOptions, Hash{Symbol=>Object}, nil] diff --git a/lib/lithic/resources/cards.rb b/lib/lithic/resources/cards.rb index 455f6779..5c83ace3 100644 --- a/lib/lithic/resources/cards.rb +++ b/lib/lithic/resources/cards.rb @@ -18,7 +18,7 @@ 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_for: nil, shipping_address: nil, shipping_method: nil, spend_limit: nil, spend_limit_duration: nil, state: nil, request_options: {}) + # @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: {}) # # @param type [Symbol, Lithic::Models::CardCreateParams::Type] Card types: # @@ -42,8 +42,12 @@ class Cards # # @param replacement_account_token [String] Restricted field limited to select use cases. Lithic will reach out directly if # + # @param replacement_comment [String] Additional context or information related to the card that this card will replac + # # @param replacement_for [String] Globally unique identifier for the card that this card will replace. If the card # + # @param replacement_substatus [Symbol, Lithic::Models::CardCreateParams::ReplacementSubstatus] Card state substatus values for the card that this card will replace: + # # @param shipping_address [Lithic::Models::ShippingAddress] # # @param shipping_method [Symbol, Lithic::Models::CardCreateParams::ShippingMethod] Shipping method for the card. Only applies to cards of type PHYSICAL. @@ -92,14 +96,18 @@ def retrieve(card_token, params = {}) # _Note: setting a card to a `CLOSED` state is a final action that cannot be # undone._ # - # @overload update(card_token, digital_card_art_token: nil, memo: nil, pin: nil, pin_status: nil, spend_limit: nil, spend_limit_duration: nil, state: nil, request_options: {}) + # @overload update(card_token, comment: nil, digital_card_art_token: nil, memo: nil, network_program_token: nil, pin: nil, pin_status: nil, spend_limit: nil, spend_limit_duration: nil, state: nil, substatus: nil, request_options: {}) # # @param card_token [String] # + # @param comment [String] Additional context or information related to the card. + # # @param digital_card_art_token [String] Specifies the digital card art to be displayed in the user’s digital wallet afte # # @param memo [String] Friendly name to identify the card. # + # @param network_program_token [String] Globally unique identifier for the card's network program. Currently applicable + # # @param pin [String] Encrypted PIN block (in base64). Only applies to cards of type `PHYSICAL` and `V # # @param pin_status [Symbol, Lithic::Models::CardUpdateParams::PinStatus] Indicates if a card is blocked due a PIN status issue (e.g. excessive incorrect @@ -110,6 +118,8 @@ def retrieve(card_token, params = {}) # # @param state [Symbol, Lithic::Models::CardUpdateParams::State] Card state values: # + # @param substatus [Symbol, Lithic::Models::CardUpdateParams::Substatus] Card state substatus values: + # # @param request_options [Lithic::RequestOptions, Hash{Symbol=>Object}, nil] # # @return [Lithic::Models::Card] diff --git a/lib/lithic/resources/management_operations.rb b/lib/lithic/resources/management_operations.rb index ac9b2502..aa4af9b5 100644 --- a/lib/lithic/resources/management_operations.rb +++ b/lib/lithic/resources/management_operations.rb @@ -5,18 +5,30 @@ module Resources class ManagementOperations # Create management operation # - # @overload create(amount:, category:, direction:, effective_date:, event_type:, financial_account_token:, token: nil, memo: nil, subtype: nil, user_defined_id: nil, request_options: {}) + # @overload create(amount:, category:, direction:, effective_date:, event_type:, financial_account_token:, token: nil, memo: nil, on_closed_account: nil, subtype: nil, user_defined_id: nil, request_options: {}) # # @param amount [Integer] + # # @param category [Symbol, Lithic::Models::ManagementOperationCreateParams::Category] + # # @param direction [Symbol, Lithic::Models::ManagementOperationCreateParams::Direction] + # # @param effective_date [Date] + # # @param event_type [Symbol, Lithic::Models::ManagementOperationCreateParams::EventType] + # # @param financial_account_token [String] + # # @param token [String] + # # @param memo [String] + # + # @param on_closed_account [Symbol, Lithic::Models::ManagementOperationCreateParams::OnClosedAccount] What to do if the financial account is closed when posting an operation + # # @param subtype [String] + # # @param user_defined_id [String] + # # @param request_options [Lithic::RequestOptions, Hash{Symbol=>Object}, nil] # # @return [Lithic::Models::ManagementOperationTransaction] diff --git a/lib/lithic/resources/network_programs.rb b/lib/lithic/resources/network_programs.rb new file mode 100644 index 00000000..857139b7 --- /dev/null +++ b/lib/lithic/resources/network_programs.rb @@ -0,0 +1,64 @@ +# frozen_string_literal: true + +module Lithic + module Resources + class NetworkPrograms + # Get network program. + # + # @overload retrieve(network_program_token, request_options: {}) + # + # @param network_program_token [String] Globally unique identifier for the network program. + # + # @param request_options [Lithic::RequestOptions, Hash{Symbol=>Object}, nil] + # + # @return [Lithic::Models::NetworkProgram] + # + # @see Lithic::Models::NetworkProgramRetrieveParams + def retrieve(network_program_token, params = {}) + @client.request( + method: :get, + path: ["v1/network_programs/%1$s", network_program_token], + model: Lithic::NetworkProgram, + options: params[:request_options] + ) + end + + # Some parameter documentations has been truncated, see + # {Lithic::Models::NetworkProgramListParams} for more details. + # + # List network programs. + # + # @overload list(begin_: nil, end_: nil, page_size: 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 page_size [Integer] Page size (for pagination). + # + # @param request_options [Lithic::RequestOptions, Hash{Symbol=>Object}, nil] + # + # @return [Lithic::Internal::SinglePage] + # + # @see Lithic::Models::NetworkProgramListParams + def list(params = {}) + parsed, options = Lithic::NetworkProgramListParams.dump_request(params) + @client.request( + method: :get, + path: "v1/network_programs", + query: parsed.transform_keys(begin_: "begin", end_: "end"), + page: Lithic::Internal::SinglePage, + model: Lithic::NetworkProgram, + options: options + ) + end + + # @api private + # + # @param client [Lithic::Client] + def initialize(client:) + @client = client + end + end + end +end diff --git a/rbi/lithic/client.rbi b/rbi/lithic/client.rbi index c722f9c4..a649be15 100644 --- a/rbi/lithic/client.rbi +++ b/rbi/lithic/client.rbi @@ -103,6 +103,9 @@ module Lithic sig { returns(Lithic::Resources::Fraud) } attr_reader :fraud + sig { returns(Lithic::Resources::NetworkPrograms) } + attr_reader :network_programs + # Status of api sig do params(request_options: Lithic::RequestOptions::OrHash).returns( diff --git a/rbi/lithic/models.rbi b/rbi/lithic/models.rbi index 6ed9cba4..aa165440 100644 --- a/rbi/lithic/models.rbi +++ b/rbi/lithic/models.rbi @@ -199,6 +199,10 @@ module Lithic ExternalPaymentSettleParams = Lithic::Models::ExternalPaymentSettleParams + ExternalResource = Lithic::Models::ExternalResource + + ExternalResourceType = Lithic::Models::ExternalResourceType + FinancialAccount = Lithic::Models::FinancialAccount FinancialAccountCreateParams = Lithic::Models::FinancialAccountCreateParams @@ -255,6 +259,12 @@ module Lithic MessageAttempt = Lithic::Models::MessageAttempt + NetworkProgram = Lithic::Models::NetworkProgram + + NetworkProgramListParams = Lithic::Models::NetworkProgramListParams + + NetworkProgramRetrieveParams = Lithic::Models::NetworkProgramRetrieveParams + NonPCICard = Lithic::Models::NonPCICard OwnerType = Lithic::Models::OwnerType diff --git a/rbi/lithic/models/account.rbi b/rbi/lithic/models/account.rbi index a6ceb80f..0c7ef2f2 100644 --- a/rbi/lithic/models/account.rbi +++ b/rbi/lithic/models/account.rbi @@ -66,6 +66,46 @@ module Lithic sig { params(cardholder_currency: String).void } attr_writer :cardholder_currency + # Additional context or information related to the account. + sig { returns(T.nilable(String)) } + attr_reader :comment + + sig { params(comment: String).void } + attr_writer :comment + + # Account state substatus values: + # + # - `FRAUD_IDENTIFIED` - The account has been recognized as being created or used + # with stolen or fabricated identity information, encompassing both true + # identity theft and synthetic identities. + # - `SUSPICIOUS_ACTIVITY` - The account has exhibited suspicious behavior, such as + # unauthorized access or fraudulent transactions, necessitating further + # investigation. + # - `RISK_VIOLATION` - The account has been involved in deliberate misuse by the + # legitimate account holder. Examples include disputing valid transactions + # without cause, falsely claiming non-receipt of goods, or engaging in + # intentional bust-out schemes to exploit account services. + # - `END_USER_REQUEST` - The account holder has voluntarily requested the closure + # of the account for personal reasons. This encompasses situations such as + # bankruptcy, other financial considerations, or the account holder's death. + # - `ISSUER_REQUEST` - The issuer has initiated the closure of the account due to + # business strategy, risk management, inactivity, product changes, regulatory + # concerns, or violations of terms and conditions. + # - `NOT_ACTIVE` - The account has not had any transactions or payment activity + # within a specified period. This status applies to accounts that are paused or + # closed due to inactivity. + # - `INTERNAL_REVIEW` - The account is temporarily paused pending further internal + # review. In future implementations, this status may prevent clients from + # activating the account via APIs until the review is completed. + # - `OTHER` - The reason for the account's current status does not fall into any + # of the above categories. A comment should be provided to specify the + # particular reason. + sig { returns(T.nilable(Lithic::Account::Substatus::TaggedSymbol)) } + attr_reader :substatus + + sig { params(substatus: Lithic::Account::Substatus::OrSymbol).void } + attr_writer :substatus + sig { returns(T.nilable(Lithic::Account::VerificationAddress)) } attr_reader :verification_address @@ -85,6 +125,8 @@ module Lithic account_holder: Lithic::Account::AccountHolder::OrHash, auth_rule_tokens: T::Array[String], cardholder_currency: String, + comment: String, + substatus: Lithic::Account::Substatus::OrSymbol, verification_address: Lithic::Account::VerificationAddress::OrHash ).returns(T.attached_class) end @@ -121,6 +163,36 @@ module Lithic auth_rule_tokens: nil, # 3-character alphabetic ISO 4217 code for the currency of the cardholder. cardholder_currency: nil, + # Additional context or information related to the account. + comment: nil, + # Account state substatus values: + # + # - `FRAUD_IDENTIFIED` - The account has been recognized as being created or used + # with stolen or fabricated identity information, encompassing both true + # identity theft and synthetic identities. + # - `SUSPICIOUS_ACTIVITY` - The account has exhibited suspicious behavior, such as + # unauthorized access or fraudulent transactions, necessitating further + # investigation. + # - `RISK_VIOLATION` - The account has been involved in deliberate misuse by the + # legitimate account holder. Examples include disputing valid transactions + # without cause, falsely claiming non-receipt of goods, or engaging in + # intentional bust-out schemes to exploit account services. + # - `END_USER_REQUEST` - The account holder has voluntarily requested the closure + # of the account for personal reasons. This encompasses situations such as + # bankruptcy, other financial considerations, or the account holder's death. + # - `ISSUER_REQUEST` - The issuer has initiated the closure of the account due to + # business strategy, risk management, inactivity, product changes, regulatory + # concerns, or violations of terms and conditions. + # - `NOT_ACTIVE` - The account has not had any transactions or payment activity + # within a specified period. This status applies to accounts that are paused or + # closed due to inactivity. + # - `INTERNAL_REVIEW` - The account is temporarily paused pending further internal + # review. In future implementations, this status may prevent clients from + # activating the account via APIs until the review is completed. + # - `OTHER` - The reason for the account's current status does not fall into any + # of the above categories. A comment should be provided to specify the + # particular reason. + substatus: nil, verification_address: nil ) end @@ -135,6 +207,8 @@ module Lithic account_holder: Lithic::Account::AccountHolder, auth_rule_tokens: T::Array[String], cardholder_currency: String, + comment: String, + substatus: Lithic::Account::Substatus::TaggedSymbol, verification_address: Lithic::Account::VerificationAddress } ) @@ -275,6 +349,63 @@ module Lithic end end + # Account state substatus values: + # + # - `FRAUD_IDENTIFIED` - The account has been recognized as being created or used + # with stolen or fabricated identity information, encompassing both true + # identity theft and synthetic identities. + # - `SUSPICIOUS_ACTIVITY` - The account has exhibited suspicious behavior, such as + # unauthorized access or fraudulent transactions, necessitating further + # investigation. + # - `RISK_VIOLATION` - The account has been involved in deliberate misuse by the + # legitimate account holder. Examples include disputing valid transactions + # without cause, falsely claiming non-receipt of goods, or engaging in + # intentional bust-out schemes to exploit account services. + # - `END_USER_REQUEST` - The account holder has voluntarily requested the closure + # of the account for personal reasons. This encompasses situations such as + # bankruptcy, other financial considerations, or the account holder's death. + # - `ISSUER_REQUEST` - The issuer has initiated the closure of the account due to + # business strategy, risk management, inactivity, product changes, regulatory + # concerns, or violations of terms and conditions. + # - `NOT_ACTIVE` - The account has not had any transactions or payment activity + # within a specified period. This status applies to accounts that are paused or + # closed due to inactivity. + # - `INTERNAL_REVIEW` - The account is temporarily paused pending further internal + # review. In future implementations, this status may prevent clients from + # activating the account via APIs until the review is completed. + # - `OTHER` - The reason for the account's current status does not fall into any + # of the above categories. A comment should be provided to specify the + # particular reason. + module Substatus + extend Lithic::Internal::Type::Enum + + TaggedSymbol = + T.type_alias { T.all(Symbol, Lithic::Account::Substatus) } + OrSymbol = T.type_alias { T.any(Symbol, String) } + + FRAUD_IDENTIFIED = + T.let(:FRAUD_IDENTIFIED, Lithic::Account::Substatus::TaggedSymbol) + SUSPICIOUS_ACTIVITY = + T.let(:SUSPICIOUS_ACTIVITY, Lithic::Account::Substatus::TaggedSymbol) + RISK_VIOLATION = + T.let(:RISK_VIOLATION, Lithic::Account::Substatus::TaggedSymbol) + END_USER_REQUEST = + T.let(:END_USER_REQUEST, Lithic::Account::Substatus::TaggedSymbol) + ISSUER_REQUEST = + T.let(:ISSUER_REQUEST, Lithic::Account::Substatus::TaggedSymbol) + NOT_ACTIVE = + T.let(:NOT_ACTIVE, Lithic::Account::Substatus::TaggedSymbol) + INTERNAL_REVIEW = + T.let(:INTERNAL_REVIEW, Lithic::Account::Substatus::TaggedSymbol) + OTHER = T.let(:OTHER, Lithic::Account::Substatus::TaggedSymbol) + + sig do + override.returns(T::Array[Lithic::Account::Substatus::TaggedSymbol]) + end + def self.values + end + end + class VerificationAddress < Lithic::Internal::Type::BaseModel OrHash = T.type_alias do diff --git a/rbi/lithic/models/account_update_params.rbi b/rbi/lithic/models/account_update_params.rbi index e9454acd..16186d9a 100644 --- a/rbi/lithic/models/account_update_params.rbi +++ b/rbi/lithic/models/account_update_params.rbi @@ -11,6 +11,13 @@ module Lithic T.any(Lithic::AccountUpdateParams, Lithic::Internal::AnyHash) end + # Additional context or information related to the account. + sig { returns(T.nilable(String)) } + attr_reader :comment + + sig { params(comment: String).void } + attr_writer :comment + # Amount (in cents) for the account's daily spend limit (e.g. 100000 would be a # $1,000 limit). By default the daily spend limit is set to $1,250. sig { returns(T.nilable(Integer)) } @@ -47,6 +54,43 @@ module Lithic sig { params(state: Lithic::AccountUpdateParams::State::OrSymbol).void } attr_writer :state + # Account state substatus values: + # + # - `FRAUD_IDENTIFIED` - The account has been recognized as being created or used + # with stolen or fabricated identity information, encompassing both true + # identity theft and synthetic identities. + # - `SUSPICIOUS_ACTIVITY` - The account has exhibited suspicious behavior, such as + # unauthorized access or fraudulent transactions, necessitating further + # investigation. + # - `RISK_VIOLATION` - The account has been involved in deliberate misuse by the + # legitimate account holder. Examples include disputing valid transactions + # without cause, falsely claiming non-receipt of goods, or engaging in + # intentional bust-out schemes to exploit account services. + # - `END_USER_REQUEST` - The account holder has voluntarily requested the closure + # of the account for personal reasons. This encompasses situations such as + # bankruptcy, other financial considerations, or the account holder's death. + # - `ISSUER_REQUEST` - The issuer has initiated the closure of the account due to + # business strategy, risk management, inactivity, product changes, regulatory + # concerns, or violations of terms and conditions. + # - `NOT_ACTIVE` - The account has not had any transactions or payment activity + # within a specified period. This status applies to accounts that are paused or + # closed due to inactivity. + # - `INTERNAL_REVIEW` - The account is temporarily paused pending further internal + # review. In future implementations, this status may prevent clients from + # activating the account via APIs until the review is completed. + # - `OTHER` - The reason for the account's current status does not fall into any + # of the above categories. A comment should be provided to specify the + # particular reason. + sig do + returns(T.nilable(Lithic::AccountUpdateParams::Substatus::OrSymbol)) + end + attr_reader :substatus + + sig do + params(substatus: Lithic::AccountUpdateParams::Substatus::OrSymbol).void + end + attr_writer :substatus + # Address used during Address Verification Service (AVS) checks during # transactions if enabled via Auth Rules. This field is deprecated as AVS checks # are no longer supported by Auth Rules. The field will be removed from the schema @@ -66,16 +110,20 @@ module Lithic sig do params( + comment: String, daily_spend_limit: Integer, lifetime_spend_limit: Integer, monthly_spend_limit: Integer, state: Lithic::AccountUpdateParams::State::OrSymbol, + substatus: Lithic::AccountUpdateParams::Substatus::OrSymbol, verification_address: Lithic::AccountUpdateParams::VerificationAddress::OrHash, request_options: Lithic::RequestOptions::OrHash ).returns(T.attached_class) end def self.new( + # Additional context or information related to the account. + comment: nil, # Amount (in cents) for the account's daily spend limit (e.g. 100000 would be a # $1,000 limit). By default the daily spend limit is set to $1,250. daily_spend_limit: nil, @@ -92,6 +140,34 @@ module Lithic monthly_spend_limit: nil, # Account states. state: nil, + # Account state substatus values: + # + # - `FRAUD_IDENTIFIED` - The account has been recognized as being created or used + # with stolen or fabricated identity information, encompassing both true + # identity theft and synthetic identities. + # - `SUSPICIOUS_ACTIVITY` - The account has exhibited suspicious behavior, such as + # unauthorized access or fraudulent transactions, necessitating further + # investigation. + # - `RISK_VIOLATION` - The account has been involved in deliberate misuse by the + # legitimate account holder. Examples include disputing valid transactions + # without cause, falsely claiming non-receipt of goods, or engaging in + # intentional bust-out schemes to exploit account services. + # - `END_USER_REQUEST` - The account holder has voluntarily requested the closure + # of the account for personal reasons. This encompasses situations such as + # bankruptcy, other financial considerations, or the account holder's death. + # - `ISSUER_REQUEST` - The issuer has initiated the closure of the account due to + # business strategy, risk management, inactivity, product changes, regulatory + # concerns, or violations of terms and conditions. + # - `NOT_ACTIVE` - The account has not had any transactions or payment activity + # within a specified period. This status applies to accounts that are paused or + # closed due to inactivity. + # - `INTERNAL_REVIEW` - The account is temporarily paused pending further internal + # review. In future implementations, this status may prevent clients from + # activating the account via APIs until the review is completed. + # - `OTHER` - The reason for the account's current status does not fall into any + # of the above categories. A comment should be provided to specify the + # particular reason. + substatus: nil, # Address used during Address Verification Service (AVS) checks during # transactions if enabled via Auth Rules. This field is deprecated as AVS checks # are no longer supported by Auth Rules. The field will be removed from the schema @@ -104,10 +180,12 @@ module Lithic sig do override.returns( { + comment: String, daily_spend_limit: Integer, lifetime_spend_limit: Integer, monthly_spend_limit: Integer, state: Lithic::AccountUpdateParams::State::OrSymbol, + substatus: Lithic::AccountUpdateParams::Substatus::OrSymbol, verification_address: Lithic::AccountUpdateParams::VerificationAddress, request_options: Lithic::RequestOptions @@ -141,6 +219,87 @@ module Lithic end end + # Account state substatus values: + # + # - `FRAUD_IDENTIFIED` - The account has been recognized as being created or used + # with stolen or fabricated identity information, encompassing both true + # identity theft and synthetic identities. + # - `SUSPICIOUS_ACTIVITY` - The account has exhibited suspicious behavior, such as + # unauthorized access or fraudulent transactions, necessitating further + # investigation. + # - `RISK_VIOLATION` - The account has been involved in deliberate misuse by the + # legitimate account holder. Examples include disputing valid transactions + # without cause, falsely claiming non-receipt of goods, or engaging in + # intentional bust-out schemes to exploit account services. + # - `END_USER_REQUEST` - The account holder has voluntarily requested the closure + # of the account for personal reasons. This encompasses situations such as + # bankruptcy, other financial considerations, or the account holder's death. + # - `ISSUER_REQUEST` - The issuer has initiated the closure of the account due to + # business strategy, risk management, inactivity, product changes, regulatory + # concerns, or violations of terms and conditions. + # - `NOT_ACTIVE` - The account has not had any transactions or payment activity + # within a specified period. This status applies to accounts that are paused or + # closed due to inactivity. + # - `INTERNAL_REVIEW` - The account is temporarily paused pending further internal + # review. In future implementations, this status may prevent clients from + # activating the account via APIs until the review is completed. + # - `OTHER` - The reason for the account's current status does not fall into any + # of the above categories. A comment should be provided to specify the + # particular reason. + module Substatus + extend Lithic::Internal::Type::Enum + + TaggedSymbol = + T.type_alias { T.all(Symbol, Lithic::AccountUpdateParams::Substatus) } + OrSymbol = T.type_alias { T.any(Symbol, String) } + + FRAUD_IDENTIFIED = + T.let( + :FRAUD_IDENTIFIED, + Lithic::AccountUpdateParams::Substatus::TaggedSymbol + ) + SUSPICIOUS_ACTIVITY = + T.let( + :SUSPICIOUS_ACTIVITY, + Lithic::AccountUpdateParams::Substatus::TaggedSymbol + ) + RISK_VIOLATION = + T.let( + :RISK_VIOLATION, + Lithic::AccountUpdateParams::Substatus::TaggedSymbol + ) + END_USER_REQUEST = + T.let( + :END_USER_REQUEST, + Lithic::AccountUpdateParams::Substatus::TaggedSymbol + ) + ISSUER_REQUEST = + T.let( + :ISSUER_REQUEST, + Lithic::AccountUpdateParams::Substatus::TaggedSymbol + ) + NOT_ACTIVE = + T.let( + :NOT_ACTIVE, + Lithic::AccountUpdateParams::Substatus::TaggedSymbol + ) + INTERNAL_REVIEW = + T.let( + :INTERNAL_REVIEW, + Lithic::AccountUpdateParams::Substatus::TaggedSymbol + ) + OTHER = + T.let(:OTHER, Lithic::AccountUpdateParams::Substatus::TaggedSymbol) + + sig do + override.returns( + T::Array[Lithic::AccountUpdateParams::Substatus::TaggedSymbol] + ) + end + def self.values + end + end + class VerificationAddress < Lithic::Internal::Type::BaseModel OrHash = T.type_alias do diff --git a/rbi/lithic/models/aggregate_balance.rbi b/rbi/lithic/models/aggregate_balance.rbi index a5a749d9..adf85f0b 100644 --- a/rbi/lithic/models/aggregate_balance.rbi +++ b/rbi/lithic/models/aggregate_balance.rbi @@ -143,6 +143,11 @@ module Lithic :RESERVE, Lithic::AggregateBalance::FinancialAccountType::TaggedSymbol ) + SECURITY = + T.let( + :SECURITY, + Lithic::AggregateBalance::FinancialAccountType::TaggedSymbol + ) sig do override.returns( diff --git a/rbi/lithic/models/aggregate_balance_list_params.rbi b/rbi/lithic/models/aggregate_balance_list_params.rbi index b5043de7..89092a42 100644 --- a/rbi/lithic/models/aggregate_balance_list_params.rbi +++ b/rbi/lithic/models/aggregate_balance_list_params.rbi @@ -83,6 +83,11 @@ module Lithic :RESERVE, Lithic::AggregateBalanceListParams::FinancialAccountType::TaggedSymbol ) + SECURITY = + T.let( + :SECURITY, + Lithic::AggregateBalanceListParams::FinancialAccountType::TaggedSymbol + ) sig do override.returns( diff --git a/rbi/lithic/models/auth_rules/conditional_3ds_action_parameters.rbi b/rbi/lithic/models/auth_rules/conditional_3ds_action_parameters.rbi index 0a459d55..35e18329 100644 --- a/rbi/lithic/models/auth_rules/conditional_3ds_action_parameters.rbi +++ b/rbi/lithic/models/auth_rules/conditional_3ds_action_parameters.rbi @@ -123,11 +123,8 @@ module Lithic # fee field in the settlement/cardholder billing currency. This is the amount # the issuer should authorize against unless the issuer is paying the acquirer # fee on behalf of the cardholder. - # - `RISK_SCORE`: Network-provided score assessing risk level associated with a - # given authentication. Scores are on a range of 0-999, with 0 representing the - # lowest risk and 999 representing the highest risk. For Visa transactions, - # where the raw score has a range of 0-99, Lithic will normalize the score by - # multiplying the raw score by 10x. + # - `RISK_SCORE`: Mastercard only: Assessment by the network of the authentication + # risk level, with a higher value indicating a higher amount of risk. # - `MESSAGE_CATEGORY`: The category of the authentication being processed. sig do returns( @@ -211,11 +208,8 @@ module Lithic # fee field in the settlement/cardholder billing currency. This is the amount # the issuer should authorize against unless the issuer is paying the acquirer # fee on behalf of the cardholder. - # - `RISK_SCORE`: Network-provided score assessing risk level associated with a - # given authentication. Scores are on a range of 0-999, with 0 representing the - # lowest risk and 999 representing the highest risk. For Visa transactions, - # where the raw score has a range of 0-99, Lithic will normalize the score by - # multiplying the raw score by 10x. + # - `RISK_SCORE`: Mastercard only: Assessment by the network of the authentication + # risk level, with a higher value indicating a higher amount of risk. # - `MESSAGE_CATEGORY`: The category of the authentication being processed. attribute: nil, # The operation to apply to the attribute @@ -258,11 +252,8 @@ module Lithic # fee field in the settlement/cardholder billing currency. This is the amount # the issuer should authorize against unless the issuer is paying the acquirer # fee on behalf of the cardholder. - # - `RISK_SCORE`: Network-provided score assessing risk level associated with a - # given authentication. Scores are on a range of 0-999, with 0 representing the - # lowest risk and 999 representing the highest risk. For Visa transactions, - # where the raw score has a range of 0-99, Lithic will normalize the score by - # multiplying the raw score by 10x. + # - `RISK_SCORE`: Mastercard only: Assessment by the network of the authentication + # risk level, with a higher value indicating a higher amount of risk. # - `MESSAGE_CATEGORY`: The category of the authentication being processed. module Attribute extend Lithic::Internal::Type::Enum diff --git a/rbi/lithic/models/auth_rules/velocity_limit_params.rbi b/rbi/lithic/models/auth_rules/velocity_limit_params.rbi index ca6ef23d..1cfe43f1 100644 --- a/rbi/lithic/models/auth_rules/velocity_limit_params.rbi +++ b/rbi/lithic/models/auth_rules/velocity_limit_params.rbi @@ -28,7 +28,12 @@ module Lithic returns( T.any( Integer, - Lithic::AuthRules::VelocityLimitParamsPeriodWindow::OrSymbol + Lithic::AuthRules::VelocityLimitParamsPeriodWindow::FixedWindow::OrSymbol, + Lithic::AuthRules::VelocityLimitParamsPeriodWindow::TrailingWindowObject, + Lithic::AuthRules::VelocityLimitParamsPeriodWindow::FixedWindowDay, + Lithic::AuthRules::VelocityLimitParamsPeriodWindow::FixedWindowWeek, + Lithic::AuthRules::VelocityLimitParamsPeriodWindow::FixedWindowMonth, + Lithic::AuthRules::VelocityLimitParamsPeriodWindow::FixedWindowYear ) ) end @@ -57,7 +62,12 @@ module Lithic period: T.any( Integer, - Lithic::AuthRules::VelocityLimitParamsPeriodWindow::OrSymbol + Lithic::AuthRules::VelocityLimitParamsPeriodWindow::FixedWindow::OrSymbol, + Lithic::AuthRules::VelocityLimitParamsPeriodWindow::TrailingWindowObject::OrHash, + Lithic::AuthRules::VelocityLimitParamsPeriodWindow::FixedWindowDay::OrHash, + Lithic::AuthRules::VelocityLimitParamsPeriodWindow::FixedWindowWeek::OrHash, + Lithic::AuthRules::VelocityLimitParamsPeriodWindow::FixedWindowMonth::OrHash, + Lithic::AuthRules::VelocityLimitParamsPeriodWindow::FixedWindowYear::OrHash ), scope: Lithic::AuthRules::VelocityLimitParams::Scope::OrSymbol, limit_amount: T.nilable(Integer), @@ -90,7 +100,12 @@ module Lithic period: T.any( Integer, - Lithic::AuthRules::VelocityLimitParamsPeriodWindow::OrSymbol + Lithic::AuthRules::VelocityLimitParamsPeriodWindow::FixedWindow::OrSymbol, + Lithic::AuthRules::VelocityLimitParamsPeriodWindow::TrailingWindowObject, + Lithic::AuthRules::VelocityLimitParamsPeriodWindow::FixedWindowDay, + Lithic::AuthRules::VelocityLimitParamsPeriodWindow::FixedWindowWeek, + Lithic::AuthRules::VelocityLimitParamsPeriodWindow::FixedWindowMonth, + Lithic::AuthRules::VelocityLimitParamsPeriodWindow::FixedWindowYear ), scope: Lithic::AuthRules::VelocityLimitParams::Scope::OrSymbol, limit_amount: T.nilable(Integer), @@ -172,28 +187,6 @@ module Lithic end end - # The size of the trailing window to calculate Spend Velocity over in seconds. The - # minimum value is 10 seconds, and the maximum value is 2678400 seconds (31 days). - module Period - extend Lithic::Internal::Type::Union - - Variants = - T.type_alias do - T.any( - Integer, - Lithic::AuthRules::VelocityLimitParamsPeriodWindow::TaggedSymbol - ) - end - - sig do - override.returns( - T::Array[Lithic::AuthRules::VelocityLimitParams::Period::Variants] - ) - end - def self.variants - end - end - module Scope extend Lithic::Internal::Type::Enum diff --git a/rbi/lithic/models/auth_rules/velocity_limit_params_period_window.rbi b/rbi/lithic/models/auth_rules/velocity_limit_params_period_window.rbi index 4e27313f..7955e5a0 100644 --- a/rbi/lithic/models/auth_rules/velocity_limit_params_period_window.rbi +++ b/rbi/lithic/models/auth_rules/velocity_limit_params_period_window.rbi @@ -3,53 +3,549 @@ module Lithic module Models module AuthRules - # The window of time to calculate Spend Velocity over. - # - # - `DAY`: Velocity over the current day since midnight Eastern Time. - # - `WEEK`: Velocity over the current week since 00:00 / 12 AM on Monday in - # Eastern Time. - # - `MONTH`: Velocity over the current month since 00:00 / 12 AM on the first of - # the month in Eastern Time. - # - `YEAR`: Velocity over the current year since 00:00 / 12 AM on January 1st in - # Eastern Time. + # The size of the trailing window to calculate Spend Velocity over in seconds. The + # minimum value is 10 seconds, and the maximum value is 2678400 seconds (31 days). module VelocityLimitParamsPeriodWindow - extend Lithic::Internal::Type::Enum + extend Lithic::Internal::Type::Union - TaggedSymbol = + Variants = T.type_alias do - T.all(Symbol, Lithic::AuthRules::VelocityLimitParamsPeriodWindow) + T.any( + Integer, + Lithic::AuthRules::VelocityLimitParamsPeriodWindow::FixedWindow::TaggedSymbol, + Lithic::AuthRules::VelocityLimitParamsPeriodWindow::TrailingWindowObject, + Lithic::AuthRules::VelocityLimitParamsPeriodWindow::FixedWindowDay, + Lithic::AuthRules::VelocityLimitParamsPeriodWindow::FixedWindowWeek, + Lithic::AuthRules::VelocityLimitParamsPeriodWindow::FixedWindowMonth, + Lithic::AuthRules::VelocityLimitParamsPeriodWindow::FixedWindowYear + ) end - OrSymbol = T.type_alias { T.any(Symbol, String) } - DAY = - T.let( - :DAY, - Lithic::AuthRules::VelocityLimitParamsPeriodWindow::TaggedSymbol + # The window of time to calculate Spend Velocity over. + # + # - `DAY`: Velocity over the current day since midnight Eastern Time. + # - `WEEK`: Velocity over the current week since 00:00 / 12 AM on Monday in + # Eastern Time. + # - `MONTH`: Velocity over the current month since 00:00 / 12 AM on the first of + # the month in Eastern Time. + # - `YEAR`: Velocity over the current year since 00:00 / 12 AM on January 1st in + # Eastern Time. + module FixedWindow + extend Lithic::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Lithic::AuthRules::VelocityLimitParamsPeriodWindow::FixedWindow + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :DAY, + Lithic::AuthRules::VelocityLimitParamsPeriodWindow::FixedWindow::TaggedSymbol + ) + WEEK = + T.let( + :WEEK, + Lithic::AuthRules::VelocityLimitParamsPeriodWindow::FixedWindow::TaggedSymbol + ) + MONTH = + T.let( + :MONTH, + Lithic::AuthRules::VelocityLimitParamsPeriodWindow::FixedWindow::TaggedSymbol + ) + YEAR = + T.let( + :YEAR, + Lithic::AuthRules::VelocityLimitParamsPeriodWindow::FixedWindow::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Lithic::AuthRules::VelocityLimitParamsPeriodWindow::FixedWindow::TaggedSymbol + ] + ) + end + def self.values + end + end + + class TrailingWindowObject < Lithic::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Lithic::AuthRules::VelocityLimitParamsPeriodWindow::TrailingWindowObject, + Lithic::Internal::AnyHash + ) + end + + # The size of the trailing window to calculate Spend Velocity over in seconds. The + # minimum value is 10 seconds, and the maximum value is 2678400 seconds (31 days). + sig { returns(T.nilable(Integer)) } + attr_reader :duration + + sig { params(duration: Integer).void } + attr_writer :duration + + sig do + returns( + T.nilable( + Lithic::AuthRules::VelocityLimitParamsPeriodWindow::TrailingWindowObject::Type::OrSymbol + ) + ) + end + attr_reader :type + + sig do + params( + type: + Lithic::AuthRules::VelocityLimitParamsPeriodWindow::TrailingWindowObject::Type::OrSymbol + ).void + end + attr_writer :type + + sig do + params( + duration: Integer, + type: + Lithic::AuthRules::VelocityLimitParamsPeriodWindow::TrailingWindowObject::Type::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # The size of the trailing window to calculate Spend Velocity over in seconds. The + # minimum value is 10 seconds, and the maximum value is 2678400 seconds (31 days). + duration: nil, + type: nil ) - WEEK = - T.let( - :WEEK, - Lithic::AuthRules::VelocityLimitParamsPeriodWindow::TaggedSymbol + end + + sig do + override.returns( + { + duration: Integer, + type: + Lithic::AuthRules::VelocityLimitParamsPeriodWindow::TrailingWindowObject::Type::OrSymbol + } + ) + end + def to_hash + end + + module Type + extend Lithic::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Lithic::AuthRules::VelocityLimitParamsPeriodWindow::TrailingWindowObject::Type + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + CUSTOM = + T.let( + :CUSTOM, + Lithic::AuthRules::VelocityLimitParamsPeriodWindow::TrailingWindowObject::Type::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Lithic::AuthRules::VelocityLimitParamsPeriodWindow::TrailingWindowObject::Type::TaggedSymbol + ] + ) + end + def self.values + end + end + end + + class FixedWindowDay < Lithic::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Lithic::AuthRules::VelocityLimitParamsPeriodWindow::FixedWindowDay, + Lithic::Internal::AnyHash + ) + end + + sig do + returns( + T.nilable( + Lithic::AuthRules::VelocityLimitParamsPeriodWindow::FixedWindowDay::Type::OrSymbol + ) + ) + end + attr_reader :type + + sig do + params( + type: + Lithic::AuthRules::VelocityLimitParamsPeriodWindow::FixedWindowDay::Type::OrSymbol + ).void + end + attr_writer :type + + # Velocity over the current day since 00:00 / 12 AM in Eastern Time + sig do + params( + type: + Lithic::AuthRules::VelocityLimitParamsPeriodWindow::FixedWindowDay::Type::OrSymbol + ).returns(T.attached_class) + end + def self.new(type: nil) + end + + sig do + override.returns( + { + type: + Lithic::AuthRules::VelocityLimitParamsPeriodWindow::FixedWindowDay::Type::OrSymbol + } + ) + end + def to_hash + end + + module Type + extend Lithic::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Lithic::AuthRules::VelocityLimitParamsPeriodWindow::FixedWindowDay::Type + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DAY = + T.let( + :DAY, + Lithic::AuthRules::VelocityLimitParamsPeriodWindow::FixedWindowDay::Type::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Lithic::AuthRules::VelocityLimitParamsPeriodWindow::FixedWindowDay::Type::TaggedSymbol + ] + ) + end + def self.values + end + end + end + + class FixedWindowWeek < Lithic::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Lithic::AuthRules::VelocityLimitParamsPeriodWindow::FixedWindowWeek, + Lithic::Internal::AnyHash + ) + end + + # The day of the week to start the week from. Following ISO-8601, 1 is Monday and + # 7 is Sunday. Defaults to Monday if not specified. + sig { returns(T.nilable(Integer)) } + attr_reader :day_of_week + + sig { params(day_of_week: Integer).void } + attr_writer :day_of_week + + sig do + returns( + T.nilable( + Lithic::AuthRules::VelocityLimitParamsPeriodWindow::FixedWindowWeek::Type::OrSymbol + ) + ) + end + attr_reader :type + + sig do + params( + type: + Lithic::AuthRules::VelocityLimitParamsPeriodWindow::FixedWindowWeek::Type::OrSymbol + ).void + end + attr_writer :type + + # Velocity over the current week since 00:00 / 12 AM in Eastern Time on specified + # `day_of_week` + sig do + params( + day_of_week: Integer, + type: + Lithic::AuthRules::VelocityLimitParamsPeriodWindow::FixedWindowWeek::Type::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # The day of the week to start the week from. Following ISO-8601, 1 is Monday and + # 7 is Sunday. Defaults to Monday if not specified. + day_of_week: nil, + type: nil ) - MONTH = - T.let( - :MONTH, - Lithic::AuthRules::VelocityLimitParamsPeriodWindow::TaggedSymbol + end + + sig do + override.returns( + { + day_of_week: Integer, + type: + Lithic::AuthRules::VelocityLimitParamsPeriodWindow::FixedWindowWeek::Type::OrSymbol + } + ) + end + def to_hash + end + + module Type + extend Lithic::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Lithic::AuthRules::VelocityLimitParamsPeriodWindow::FixedWindowWeek::Type + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + WEEK = + T.let( + :WEEK, + Lithic::AuthRules::VelocityLimitParamsPeriodWindow::FixedWindowWeek::Type::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Lithic::AuthRules::VelocityLimitParamsPeriodWindow::FixedWindowWeek::Type::TaggedSymbol + ] + ) + end + def self.values + end + end + end + + class FixedWindowMonth < Lithic::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Lithic::AuthRules::VelocityLimitParamsPeriodWindow::FixedWindowMonth, + Lithic::Internal::AnyHash + ) + end + + # The day of the month to start from. Accepts values from 1 to 31, and will reset + # at the end of the month if the day exceeds the number of days in the month. + # Defaults to the 1st of the month if not specified. + sig { returns(T.nilable(Integer)) } + attr_reader :day_of_month + + sig { params(day_of_month: Integer).void } + attr_writer :day_of_month + + sig do + returns( + T.nilable( + Lithic::AuthRules::VelocityLimitParamsPeriodWindow::FixedWindowMonth::Type::OrSymbol + ) + ) + end + attr_reader :type + + sig do + params( + type: + Lithic::AuthRules::VelocityLimitParamsPeriodWindow::FixedWindowMonth::Type::OrSymbol + ).void + end + attr_writer :type + + # Velocity over the current month since 00:00 / 12 AM in Eastern Time on specified + # `day_of_month`. + sig do + params( + day_of_month: Integer, + type: + Lithic::AuthRules::VelocityLimitParamsPeriodWindow::FixedWindowMonth::Type::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # The day of the month to start from. Accepts values from 1 to 31, and will reset + # at the end of the month if the day exceeds the number of days in the month. + # Defaults to the 1st of the month if not specified. + day_of_month: nil, + type: nil ) - YEAR = - T.let( - :YEAR, - Lithic::AuthRules::VelocityLimitParamsPeriodWindow::TaggedSymbol + end + + sig do + override.returns( + { + day_of_month: Integer, + type: + Lithic::AuthRules::VelocityLimitParamsPeriodWindow::FixedWindowMonth::Type::OrSymbol + } + ) + end + def to_hash + end + + module Type + extend Lithic::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Lithic::AuthRules::VelocityLimitParamsPeriodWindow::FixedWindowMonth::Type + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + MONTH = + T.let( + :MONTH, + Lithic::AuthRules::VelocityLimitParamsPeriodWindow::FixedWindowMonth::Type::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Lithic::AuthRules::VelocityLimitParamsPeriodWindow::FixedWindowMonth::Type::TaggedSymbol + ] + ) + end + def self.values + end + end + end + + class FixedWindowYear < Lithic::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Lithic::AuthRules::VelocityLimitParamsPeriodWindow::FixedWindowYear, + Lithic::Internal::AnyHash + ) + end + + # The day of the month to start from. Defaults to the 1st of the month if not + # specified. + sig { returns(T.nilable(Integer)) } + attr_reader :day_of_month + + sig { params(day_of_month: Integer).void } + attr_writer :day_of_month + + # The month to start from. 1 is January and 12 is December. Defaults to January if + # not specified. + sig { returns(T.nilable(Integer)) } + attr_reader :month + + sig { params(month: Integer).void } + attr_writer :month + + sig do + returns( + T.nilable( + Lithic::AuthRules::VelocityLimitParamsPeriodWindow::FixedWindowYear::Type::OrSymbol + ) + ) + end + attr_reader :type + + sig do + params( + type: + Lithic::AuthRules::VelocityLimitParamsPeriodWindow::FixedWindowYear::Type::OrSymbol + ).void + end + attr_writer :type + + # Velocity over the current year since 00:00 / 12 AM in Eastern Time on specified + # `month` and `day_of_month`. This validates the month and day of the year to + # start from is a real date. In the event that February 29th is selected, in + # non-leap years, the window will start from February 28th. + sig do + params( + day_of_month: Integer, + month: Integer, + type: + Lithic::AuthRules::VelocityLimitParamsPeriodWindow::FixedWindowYear::Type::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # The day of the month to start from. Defaults to the 1st of the month if not + # specified. + day_of_month: nil, + # The month to start from. 1 is January and 12 is December. Defaults to January if + # not specified. + month: nil, + type: nil ) + end + + sig do + override.returns( + { + day_of_month: Integer, + month: Integer, + type: + Lithic::AuthRules::VelocityLimitParamsPeriodWindow::FixedWindowYear::Type::OrSymbol + } + ) + end + def to_hash + end + + module Type + extend Lithic::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Lithic::AuthRules::VelocityLimitParamsPeriodWindow::FixedWindowYear::Type + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + YEAR = + T.let( + :YEAR, + Lithic::AuthRules::VelocityLimitParamsPeriodWindow::FixedWindowYear::Type::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Lithic::AuthRules::VelocityLimitParamsPeriodWindow::FixedWindowYear::Type::TaggedSymbol + ] + ) + end + def self.values + end + end + end sig do override.returns( T::Array[ - Lithic::AuthRules::VelocityLimitParamsPeriodWindow::TaggedSymbol + Lithic::AuthRules::VelocityLimitParamsPeriodWindow::Variants ] ) end - def self.values + def self.variants end end end diff --git a/rbi/lithic/models/balance.rbi b/rbi/lithic/models/balance.rbi index 94d47b84..861af648 100644 --- a/rbi/lithic/models/balance.rbi +++ b/rbi/lithic/models/balance.rbi @@ -128,6 +128,8 @@ module Lithic T.let(:OPERATING, Lithic::Balance::FinancialAccountType::TaggedSymbol) RESERVE = T.let(:RESERVE, Lithic::Balance::FinancialAccountType::TaggedSymbol) + SECURITY = + T.let(:SECURITY, Lithic::Balance::FinancialAccountType::TaggedSymbol) sig do override.returns( diff --git a/rbi/lithic/models/balance_list_params.rbi b/rbi/lithic/models/balance_list_params.rbi index 75d60716..d7aa0b31 100644 --- a/rbi/lithic/models/balance_list_params.rbi +++ b/rbi/lithic/models/balance_list_params.rbi @@ -113,6 +113,11 @@ module Lithic :RESERVE, Lithic::BalanceListParams::FinancialAccountType::TaggedSymbol ) + SECURITY = + T.let( + :SECURITY, + Lithic::BalanceListParams::FinancialAccountType::TaggedSymbol + ) sig do override.returns( diff --git a/rbi/lithic/models/card_create_params.rbi b/rbi/lithic/models/card_create_params.rbi index f7f822bc..2a0ea7ce 100644 --- a/rbi/lithic/models/card_create_params.rbi +++ b/rbi/lithic/models/card_create_params.rbi @@ -120,6 +120,14 @@ module Lithic sig { params(replacement_account_token: String).void } attr_writer :replacement_account_token + # Additional context or information related to the card that this card will + # replace. + sig { returns(T.nilable(String)) } + attr_reader :replacement_comment + + sig { params(replacement_comment: String).void } + attr_writer :replacement_comment + # Globally unique identifier for the card that this card will replace. If the card # type is `PHYSICAL` it will be replaced by a `PHYSICAL` card. If the card type is # `VIRTUAL` it will be replaced by a `VIRTUAL` card. @@ -129,6 +137,48 @@ module Lithic sig { params(replacement_for: String).void } attr_writer :replacement_for + # Card state substatus values for the card that this card will replace: + # + # - `LOST` - The physical card is no longer in the cardholder's possession due to + # being lost or never received by the cardholder. + # - `COMPROMISED` - Card information has been exposed, potentially leading to + # unauthorized access. This may involve physical card theft, cloning, or online + # data breaches. + # - `DAMAGED` - The physical card is not functioning properly, such as having chip + # failures or a demagnetized magnetic stripe. + # - `END_USER_REQUEST` - The cardholder requested the closure of the card for + # reasons unrelated to fraud or damage, such as switching to a different product + # or closing the account. + # - `ISSUER_REQUEST` - The issuer closed the card for reasons unrelated to fraud + # or damage, such as account inactivity, product or policy changes, or + # technology upgrades. + # - `NOT_ACTIVE` - The card hasn’t had any transaction activity for a specified + # period, applicable to statuses like `PAUSED` or `CLOSED`. + # - `SUSPICIOUS_ACTIVITY` - The card has one or more suspicious transactions or + # activities that require review. This can involve prompting the cardholder to + # confirm legitimate use or report confirmed fraud. + # - `INTERNAL_REVIEW` - The card is temporarily paused pending further internal + # review. + # - `EXPIRED` - The card has expired and has been closed without being reissued. + # - `UNDELIVERABLE` - The card cannot be delivered to the cardholder and has been + # returned. + # - `OTHER` - The reason for the status does not fall into any of the above + # categories. A comment should be provided to specify the reason. + sig do + returns( + T.nilable(Lithic::CardCreateParams::ReplacementSubstatus::OrSymbol) + ) + end + attr_reader :replacement_substatus + + sig do + params( + replacement_substatus: + Lithic::CardCreateParams::ReplacementSubstatus::OrSymbol + ).void + end + attr_writer :replacement_substatus + sig { returns(T.nilable(Lithic::ShippingAddress)) } attr_reader :shipping_address @@ -217,7 +267,10 @@ module Lithic pin: String, product_id: String, replacement_account_token: String, + replacement_comment: String, replacement_for: String, + replacement_substatus: + Lithic::CardCreateParams::ReplacementSubstatus::OrSymbol, shipping_address: Lithic::ShippingAddress::OrHash, shipping_method: Lithic::CardCreateParams::ShippingMethod::OrSymbol, spend_limit: Integer, @@ -284,10 +337,41 @@ module Lithic # If `replacement_for` is specified and this field is omitted, the replacement # card's account will be inferred from the card being replaced. replacement_account_token: nil, + # Additional context or information related to the card that this card will + # replace. + replacement_comment: nil, # Globally unique identifier for the card that this card will replace. If the card # type is `PHYSICAL` it will be replaced by a `PHYSICAL` card. If the card type is # `VIRTUAL` it will be replaced by a `VIRTUAL` card. replacement_for: nil, + # Card state substatus values for the card that this card will replace: + # + # - `LOST` - The physical card is no longer in the cardholder's possession due to + # being lost or never received by the cardholder. + # - `COMPROMISED` - Card information has been exposed, potentially leading to + # unauthorized access. This may involve physical card theft, cloning, or online + # data breaches. + # - `DAMAGED` - The physical card is not functioning properly, such as having chip + # failures or a demagnetized magnetic stripe. + # - `END_USER_REQUEST` - The cardholder requested the closure of the card for + # reasons unrelated to fraud or damage, such as switching to a different product + # or closing the account. + # - `ISSUER_REQUEST` - The issuer closed the card for reasons unrelated to fraud + # or damage, such as account inactivity, product or policy changes, or + # technology upgrades. + # - `NOT_ACTIVE` - The card hasn’t had any transaction activity for a specified + # period, applicable to statuses like `PAUSED` or `CLOSED`. + # - `SUSPICIOUS_ACTIVITY` - The card has one or more suspicious transactions or + # activities that require review. This can involve prompting the cardholder to + # confirm legitimate use or report confirmed fraud. + # - `INTERNAL_REVIEW` - The card is temporarily paused pending further internal + # review. + # - `EXPIRED` - The card has expired and has been closed without being reissued. + # - `UNDELIVERABLE` - The card cannot be delivered to the cardholder and has been + # returned. + # - `OTHER` - The reason for the status does not fall into any of the above + # categories. A comment should be provided to specify the reason. + replacement_substatus: nil, shipping_address: nil, # Shipping method for the card. Only applies to cards of type PHYSICAL. Use of # options besides `STANDARD` require additional permissions. @@ -348,7 +432,10 @@ module Lithic pin: String, product_id: String, replacement_account_token: String, + replacement_comment: String, replacement_for: String, + replacement_substatus: + Lithic::CardCreateParams::ReplacementSubstatus::OrSymbol, shipping_address: Lithic::ShippingAddress, shipping_method: Lithic::CardCreateParams::ShippingMethod::OrSymbol, spend_limit: Integer, @@ -405,6 +492,109 @@ module Lithic end end + # Card state substatus values for the card that this card will replace: + # + # - `LOST` - The physical card is no longer in the cardholder's possession due to + # being lost or never received by the cardholder. + # - `COMPROMISED` - Card information has been exposed, potentially leading to + # unauthorized access. This may involve physical card theft, cloning, or online + # data breaches. + # - `DAMAGED` - The physical card is not functioning properly, such as having chip + # failures or a demagnetized magnetic stripe. + # - `END_USER_REQUEST` - The cardholder requested the closure of the card for + # reasons unrelated to fraud or damage, such as switching to a different product + # or closing the account. + # - `ISSUER_REQUEST` - The issuer closed the card for reasons unrelated to fraud + # or damage, such as account inactivity, product or policy changes, or + # technology upgrades. + # - `NOT_ACTIVE` - The card hasn’t had any transaction activity for a specified + # period, applicable to statuses like `PAUSED` or `CLOSED`. + # - `SUSPICIOUS_ACTIVITY` - The card has one or more suspicious transactions or + # activities that require review. This can involve prompting the cardholder to + # confirm legitimate use or report confirmed fraud. + # - `INTERNAL_REVIEW` - The card is temporarily paused pending further internal + # review. + # - `EXPIRED` - The card has expired and has been closed without being reissued. + # - `UNDELIVERABLE` - The card cannot be delivered to the cardholder and has been + # returned. + # - `OTHER` - The reason for the status does not fall into any of the above + # categories. A comment should be provided to specify the reason. + module ReplacementSubstatus + extend Lithic::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all(Symbol, Lithic::CardCreateParams::ReplacementSubstatus) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + LOST = + T.let( + :LOST, + Lithic::CardCreateParams::ReplacementSubstatus::TaggedSymbol + ) + COMPROMISED = + T.let( + :COMPROMISED, + Lithic::CardCreateParams::ReplacementSubstatus::TaggedSymbol + ) + DAMAGED = + T.let( + :DAMAGED, + Lithic::CardCreateParams::ReplacementSubstatus::TaggedSymbol + ) + END_USER_REQUEST = + T.let( + :END_USER_REQUEST, + Lithic::CardCreateParams::ReplacementSubstatus::TaggedSymbol + ) + ISSUER_REQUEST = + T.let( + :ISSUER_REQUEST, + Lithic::CardCreateParams::ReplacementSubstatus::TaggedSymbol + ) + NOT_ACTIVE = + T.let( + :NOT_ACTIVE, + Lithic::CardCreateParams::ReplacementSubstatus::TaggedSymbol + ) + SUSPICIOUS_ACTIVITY = + T.let( + :SUSPICIOUS_ACTIVITY, + Lithic::CardCreateParams::ReplacementSubstatus::TaggedSymbol + ) + INTERNAL_REVIEW = + T.let( + :INTERNAL_REVIEW, + Lithic::CardCreateParams::ReplacementSubstatus::TaggedSymbol + ) + EXPIRED = + T.let( + :EXPIRED, + Lithic::CardCreateParams::ReplacementSubstatus::TaggedSymbol + ) + UNDELIVERABLE = + T.let( + :UNDELIVERABLE, + Lithic::CardCreateParams::ReplacementSubstatus::TaggedSymbol + ) + OTHER = + T.let( + :OTHER, + Lithic::CardCreateParams::ReplacementSubstatus::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Lithic::CardCreateParams::ReplacementSubstatus::TaggedSymbol + ] + ) + end + def self.values + end + end + # Shipping method for the card. Only applies to cards of type PHYSICAL. Use of # options besides `STANDARD` require additional permissions. # diff --git a/rbi/lithic/models/card_program.rbi b/rbi/lithic/models/card_program.rbi index bf3ae0ae..a3e74062 100644 --- a/rbi/lithic/models/card_program.rbi +++ b/rbi/lithic/models/card_program.rbi @@ -26,6 +26,14 @@ 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 @@ -48,6 +56,7 @@ module Lithic 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) @@ -63,6 +72,9 @@ 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 @@ -79,6 +91,7 @@ module Lithic 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_update_params.rbi b/rbi/lithic/models/card_update_params.rbi index f4196247..08a99645 100644 --- a/rbi/lithic/models/card_update_params.rbi +++ b/rbi/lithic/models/card_update_params.rbi @@ -11,6 +11,13 @@ module Lithic T.any(Lithic::CardUpdateParams, Lithic::Internal::AnyHash) end + # Additional context or information related to the card. + sig { returns(T.nilable(String)) } + attr_reader :comment + + sig { params(comment: String).void } + attr_writer :comment + # Specifies the digital card art to be displayed in the user’s digital wallet # after tokenization. This artwork must be approved by Mastercard and configured # by Lithic to use. See @@ -28,6 +35,14 @@ module Lithic sig { params(memo: String).void } attr_writer :memo + # Globally unique identifier for the card's network program. Currently applicable + # to Visa cards participating in Account Level Management only. + sig { returns(T.nilable(String)) } + attr_reader :network_program_token + + sig { params(network_program_token: String).void } + attr_writer :network_program_token + # Encrypted PIN block (in base64). Only applies to cards of type `PHYSICAL` and # `VIRTUAL`. Changing PIN also resets PIN status to `OK`. See # [Encrypted PIN Block](https://docs.lithic.com/docs/cards#encrypted-pin-block). @@ -92,19 +107,59 @@ module Lithic sig { params(state: Lithic::CardUpdateParams::State::OrSymbol).void } attr_writer :state + # Card state substatus values: + # + # - `LOST` - The physical card is no longer in the cardholder's possession due to + # being lost or never received by the cardholder. + # - `COMPROMISED` - Card information has been exposed, potentially leading to + # unauthorized access. This may involve physical card theft, cloning, or online + # data breaches. + # - `DAMAGED` - The physical card is not functioning properly, such as having chip + # failures or a demagnetized magnetic stripe. + # - `END_USER_REQUEST` - The cardholder requested the closure of the card for + # reasons unrelated to fraud or damage, such as switching to a different product + # or closing the account. + # - `ISSUER_REQUEST` - The issuer closed the card for reasons unrelated to fraud + # or damage, such as account inactivity, product or policy changes, or + # technology upgrades. + # - `NOT_ACTIVE` - The card hasn’t had any transaction activity for a specified + # period, applicable to statuses like `PAUSED` or `CLOSED`. + # - `SUSPICIOUS_ACTIVITY` - The card has one or more suspicious transactions or + # activities that require review. This can involve prompting the cardholder to + # confirm legitimate use or report confirmed fraud. + # - `INTERNAL_REVIEW` - The card is temporarily paused pending further internal + # review. + # - `EXPIRED` - The card has expired and has been closed without being reissued. + # - `UNDELIVERABLE` - The card cannot be delivered to the cardholder and has been + # returned. + # - `OTHER` - The reason for the status does not fall into any of the above + # categories. A comment should be provided to specify the reason. + sig { returns(T.nilable(Lithic::CardUpdateParams::Substatus::OrSymbol)) } + attr_reader :substatus + + sig do + params(substatus: Lithic::CardUpdateParams::Substatus::OrSymbol).void + end + attr_writer :substatus + sig do params( + comment: String, digital_card_art_token: String, memo: String, + network_program_token: String, pin: String, pin_status: Lithic::CardUpdateParams::PinStatus::OrSymbol, spend_limit: Integer, spend_limit_duration: Lithic::SpendLimitDuration::OrSymbol, state: Lithic::CardUpdateParams::State::OrSymbol, + substatus: Lithic::CardUpdateParams::Substatus::OrSymbol, request_options: Lithic::RequestOptions::OrHash ).returns(T.attached_class) end def self.new( + # Additional context or information related to the card. + comment: nil, # Specifies the digital card art to be displayed in the user’s digital wallet # after tokenization. This artwork must be approved by Mastercard and configured # by Lithic to use. See @@ -112,6 +167,9 @@ module Lithic digital_card_art_token: nil, # Friendly name to identify the card. memo: nil, + # Globally unique identifier for the card's network program. Currently applicable + # to Visa cards participating in Account Level Management only. + network_program_token: nil, # Encrypted PIN block (in base64). Only applies to cards of type `PHYSICAL` and # `VIRTUAL`. Changing PIN also resets PIN status to `OK`. See # [Encrypted PIN Block](https://docs.lithic.com/docs/cards#encrypted-pin-block). @@ -147,6 +205,34 @@ module Lithic # - `PAUSED` - Card will decline authorizations, but can be resumed at a later # time. state: nil, + # Card state substatus values: + # + # - `LOST` - The physical card is no longer in the cardholder's possession due to + # being lost or never received by the cardholder. + # - `COMPROMISED` - Card information has been exposed, potentially leading to + # unauthorized access. This may involve physical card theft, cloning, or online + # data breaches. + # - `DAMAGED` - The physical card is not functioning properly, such as having chip + # failures or a demagnetized magnetic stripe. + # - `END_USER_REQUEST` - The cardholder requested the closure of the card for + # reasons unrelated to fraud or damage, such as switching to a different product + # or closing the account. + # - `ISSUER_REQUEST` - The issuer closed the card for reasons unrelated to fraud + # or damage, such as account inactivity, product or policy changes, or + # technology upgrades. + # - `NOT_ACTIVE` - The card hasn’t had any transaction activity for a specified + # period, applicable to statuses like `PAUSED` or `CLOSED`. + # - `SUSPICIOUS_ACTIVITY` - The card has one or more suspicious transactions or + # activities that require review. This can involve prompting the cardholder to + # confirm legitimate use or report confirmed fraud. + # - `INTERNAL_REVIEW` - The card is temporarily paused pending further internal + # review. + # - `EXPIRED` - The card has expired and has been closed without being reissued. + # - `UNDELIVERABLE` - The card cannot be delivered to the cardholder and has been + # returned. + # - `OTHER` - The reason for the status does not fall into any of the above + # categories. A comment should be provided to specify the reason. + substatus: nil, request_options: {} ) end @@ -154,13 +240,16 @@ module Lithic sig do override.returns( { + comment: String, digital_card_art_token: String, memo: String, + network_program_token: String, pin: String, pin_status: Lithic::CardUpdateParams::PinStatus::OrSymbol, spend_limit: Integer, spend_limit_duration: Lithic::SpendLimitDuration::OrSymbol, state: Lithic::CardUpdateParams::State::OrSymbol, + substatus: Lithic::CardUpdateParams::Substatus::OrSymbol, request_options: Lithic::RequestOptions } ) @@ -215,6 +304,85 @@ module Lithic def self.values end end + + # Card state substatus values: + # + # - `LOST` - The physical card is no longer in the cardholder's possession due to + # being lost or never received by the cardholder. + # - `COMPROMISED` - Card information has been exposed, potentially leading to + # unauthorized access. This may involve physical card theft, cloning, or online + # data breaches. + # - `DAMAGED` - The physical card is not functioning properly, such as having chip + # failures or a demagnetized magnetic stripe. + # - `END_USER_REQUEST` - The cardholder requested the closure of the card for + # reasons unrelated to fraud or damage, such as switching to a different product + # or closing the account. + # - `ISSUER_REQUEST` - The issuer closed the card for reasons unrelated to fraud + # or damage, such as account inactivity, product or policy changes, or + # technology upgrades. + # - `NOT_ACTIVE` - The card hasn’t had any transaction activity for a specified + # period, applicable to statuses like `PAUSED` or `CLOSED`. + # - `SUSPICIOUS_ACTIVITY` - The card has one or more suspicious transactions or + # activities that require review. This can involve prompting the cardholder to + # confirm legitimate use or report confirmed fraud. + # - `INTERNAL_REVIEW` - The card is temporarily paused pending further internal + # review. + # - `EXPIRED` - The card has expired and has been closed without being reissued. + # - `UNDELIVERABLE` - The card cannot be delivered to the cardholder and has been + # returned. + # - `OTHER` - The reason for the status does not fall into any of the above + # categories. A comment should be provided to specify the reason. + module Substatus + extend Lithic::Internal::Type::Enum + + TaggedSymbol = + T.type_alias { T.all(Symbol, Lithic::CardUpdateParams::Substatus) } + OrSymbol = T.type_alias { T.any(Symbol, String) } + + LOST = T.let(:LOST, Lithic::CardUpdateParams::Substatus::TaggedSymbol) + COMPROMISED = + T.let(:COMPROMISED, Lithic::CardUpdateParams::Substatus::TaggedSymbol) + DAMAGED = + T.let(:DAMAGED, Lithic::CardUpdateParams::Substatus::TaggedSymbol) + END_USER_REQUEST = + T.let( + :END_USER_REQUEST, + Lithic::CardUpdateParams::Substatus::TaggedSymbol + ) + ISSUER_REQUEST = + T.let( + :ISSUER_REQUEST, + Lithic::CardUpdateParams::Substatus::TaggedSymbol + ) + NOT_ACTIVE = + T.let(:NOT_ACTIVE, Lithic::CardUpdateParams::Substatus::TaggedSymbol) + SUSPICIOUS_ACTIVITY = + T.let( + :SUSPICIOUS_ACTIVITY, + Lithic::CardUpdateParams::Substatus::TaggedSymbol + ) + INTERNAL_REVIEW = + T.let( + :INTERNAL_REVIEW, + Lithic::CardUpdateParams::Substatus::TaggedSymbol + ) + EXPIRED = + T.let(:EXPIRED, Lithic::CardUpdateParams::Substatus::TaggedSymbol) + UNDELIVERABLE = + T.let( + :UNDELIVERABLE, + Lithic::CardUpdateParams::Substatus::TaggedSymbol + ) + OTHER = T.let(:OTHER, Lithic::CardUpdateParams::Substatus::TaggedSymbol) + + sig do + override.returns( + T::Array[Lithic::CardUpdateParams::Substatus::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 index 9dfce867..0254f8b9 100644 --- a/rbi/lithic/models/cards/balance_list_response.rbi +++ b/rbi/lithic/models/cards/balance_list_response.rbi @@ -148,6 +148,11 @@ module Lithic :RESERVE, Lithic::Models::Cards::BalanceListResponse::Type::TaggedSymbol ) + SECURITY = + T.let( + :SECURITY, + Lithic::Models::Cards::BalanceListResponse::Type::TaggedSymbol + ) sig do override.returns( diff --git a/rbi/lithic/models/external_resource.rbi b/rbi/lithic/models/external_resource.rbi new file mode 100644 index 00000000..d0415fb8 --- /dev/null +++ b/rbi/lithic/models/external_resource.rbi @@ -0,0 +1,57 @@ +# typed: strong + +module Lithic + module Models + class ExternalResource < Lithic::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any(Lithic::ExternalResource, Lithic::Internal::AnyHash) + end + + # Token identifying the external resource + sig { returns(String) } + attr_accessor :external_resource_token + + # Type of external resource associated with the management operation + sig { returns(Lithic::ExternalResourceType::TaggedSymbol) } + attr_accessor :external_resource_type + + # Token identifying the external resource sub-resource + sig { returns(T.nilable(String)) } + attr_reader :external_resource_sub_token + + sig { params(external_resource_sub_token: String).void } + attr_writer :external_resource_sub_token + + # External resource associated with the management operation + sig do + params( + external_resource_token: String, + external_resource_type: Lithic::ExternalResourceType::OrSymbol, + external_resource_sub_token: String + ).returns(T.attached_class) + end + def self.new( + # Token identifying the external resource + external_resource_token:, + # Type of external resource associated with the management operation + external_resource_type:, + # Token identifying the external resource sub-resource + external_resource_sub_token: nil + ) + end + + sig do + override.returns( + { + external_resource_token: String, + external_resource_type: Lithic::ExternalResourceType::TaggedSymbol, + external_resource_sub_token: String + } + ) + end + def to_hash + end + end + end +end diff --git a/rbi/lithic/models/external_resource_type.rbi b/rbi/lithic/models/external_resource_type.rbi new file mode 100644 index 00000000..bf51ea88 --- /dev/null +++ b/rbi/lithic/models/external_resource_type.rbi @@ -0,0 +1,26 @@ +# typed: strong + +module Lithic + module Models + # Type of external resource associated with the management operation + module ExternalResourceType + extend Lithic::Internal::Type::Enum + + TaggedSymbol = + T.type_alias { T.all(Symbol, Lithic::ExternalResourceType) } + OrSymbol = T.type_alias { T.any(Symbol, String) } + + STATEMENT = T.let(:STATEMENT, Lithic::ExternalResourceType::TaggedSymbol) + COLLECTION = + T.let(:COLLECTION, Lithic::ExternalResourceType::TaggedSymbol) + DISPUTE = T.let(:DISPUTE, Lithic::ExternalResourceType::TaggedSymbol) + UNKNOWN = T.let(:UNKNOWN, Lithic::ExternalResourceType::TaggedSymbol) + + sig do + override.returns(T::Array[Lithic::ExternalResourceType::TaggedSymbol]) + end + def self.values + end + end + end +end diff --git a/rbi/lithic/models/financial_account_list_params.rbi b/rbi/lithic/models/financial_account_list_params.rbi index 61d24e24..3171b7e3 100644 --- a/rbi/lithic/models/financial_account_list_params.rbi +++ b/rbi/lithic/models/financial_account_list_params.rbi @@ -93,6 +93,11 @@ module Lithic :RESERVE, Lithic::FinancialAccountListParams::Type::TaggedSymbol ) + SECURITY = + T.let( + :SECURITY, + Lithic::FinancialAccountListParams::Type::TaggedSymbol + ) sig do override.returns( diff --git a/rbi/lithic/models/financial_accounts/balance_list_response.rbi b/rbi/lithic/models/financial_accounts/balance_list_response.rbi index ad6aa108..d0f01179 100644 --- a/rbi/lithic/models/financial_accounts/balance_list_response.rbi +++ b/rbi/lithic/models/financial_accounts/balance_list_response.rbi @@ -152,6 +152,11 @@ module Lithic :RESERVE, Lithic::Models::FinancialAccounts::BalanceListResponse::Type::TaggedSymbol ) + SECURITY = + T.let( + :SECURITY, + Lithic::Models::FinancialAccounts::BalanceListResponse::Type::TaggedSymbol + ) sig do override.returns( diff --git a/rbi/lithic/models/management_operation_create_params.rbi b/rbi/lithic/models/management_operation_create_params.rbi index 98129dd5..e9c39521 100644 --- a/rbi/lithic/models/management_operation_create_params.rbi +++ b/rbi/lithic/models/management_operation_create_params.rbi @@ -50,6 +50,24 @@ module Lithic sig { params(memo: String).void } attr_writer :memo + # What to do if the financial account is closed when posting an operation + sig do + returns( + T.nilable( + Lithic::ManagementOperationCreateParams::OnClosedAccount::OrSymbol + ) + ) + end + attr_reader :on_closed_account + + sig do + params( + on_closed_account: + Lithic::ManagementOperationCreateParams::OnClosedAccount::OrSymbol + ).void + end + attr_writer :on_closed_account + sig { returns(T.nilable(String)) } attr_reader :subtype @@ -74,6 +92,8 @@ module Lithic financial_account_token: String, token: String, memo: String, + on_closed_account: + Lithic::ManagementOperationCreateParams::OnClosedAccount::OrSymbol, subtype: String, user_defined_id: String, request_options: Lithic::RequestOptions::OrHash @@ -88,6 +108,8 @@ module Lithic financial_account_token:, token: nil, memo: nil, + # What to do if the financial account is closed when posting an operation + on_closed_account: nil, subtype: nil, user_defined_id: nil, request_options: {} @@ -108,6 +130,8 @@ module Lithic financial_account_token: String, token: String, memo: String, + on_closed_account: + Lithic::ManagementOperationCreateParams::OnClosedAccount::OrSymbol, subtype: String, user_defined_id: String, request_options: Lithic::RequestOptions @@ -309,6 +333,41 @@ module Lithic def self.values end end + + # What to do if the financial account is closed when posting an operation + module OnClosedAccount + extend Lithic::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Lithic::ManagementOperationCreateParams::OnClosedAccount + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + FAIL = + T.let( + :FAIL, + Lithic::ManagementOperationCreateParams::OnClosedAccount::TaggedSymbol + ) + USE_SUSPENSE = + T.let( + :USE_SUSPENSE, + Lithic::ManagementOperationCreateParams::OnClosedAccount::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Lithic::ManagementOperationCreateParams::OnClosedAccount::TaggedSymbol + ] + ) + end + def self.values + end + end end end end diff --git a/rbi/lithic/models/management_operation_transaction.rbi b/rbi/lithic/models/management_operation_transaction.rbi index 12f98b31..0f252b43 100644 --- a/rbi/lithic/models/management_operation_transaction.rbi +++ b/rbi/lithic/models/management_operation_transaction.rbi @@ -72,6 +72,17 @@ module Lithic sig { returns(Time) } attr_accessor :updated + # External resource associated with the management operation + sig { returns(T.nilable(Lithic::ExternalResource)) } + attr_reader :external_resource + + sig do + params( + external_resource: T.nilable(Lithic::ExternalResource::OrHash) + ).void + end + attr_writer :external_resource + sig { returns(T.nilable(String)) } attr_reader :user_defined_id @@ -98,6 +109,7 @@ module Lithic Lithic::ManagementOperationTransaction::TransactionSeries::OrHash ), updated: Time, + external_resource: T.nilable(Lithic::ExternalResource::OrHash), user_defined_id: String ).returns(T.attached_class) end @@ -115,6 +127,8 @@ module Lithic status:, transaction_series:, updated:, + # External resource associated with the management operation + external_resource: nil, user_defined_id: nil ) end @@ -142,6 +156,7 @@ module Lithic Lithic::ManagementOperationTransaction::TransactionSeries ), updated: Time, + external_resource: T.nilable(Lithic::ExternalResource), user_defined_id: String } ) diff --git a/rbi/lithic/models/network_program.rbi b/rbi/lithic/models/network_program.rbi new file mode 100644 index 00000000..ef671164 --- /dev/null +++ b/rbi/lithic/models/network_program.rbi @@ -0,0 +1,61 @@ +# typed: strong + +module Lithic + module Models + class NetworkProgram < Lithic::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any(Lithic::NetworkProgram, Lithic::Internal::AnyHash) + end + + # Lithic-generated unique identifier for the program + sig { returns(String) } + attr_accessor :token + + # Network product ID associated with this program. + sig { returns(String) } + attr_accessor :default_product_code + + # The name of the network program. + sig { returns(String) } + attr_accessor :name + + # RPIN value assigned by the network. + sig { returns(String) } + attr_accessor :registered_program_identification_number + + sig do + params( + token: String, + default_product_code: String, + name: String, + registered_program_identification_number: String + ).returns(T.attached_class) + end + def self.new( + # Lithic-generated unique identifier for the program + token:, + # Network product ID associated with this program. + default_product_code:, + # The name of the network program. + name:, + # RPIN value assigned by the network. + registered_program_identification_number: + ) + end + + sig do + override.returns( + { + token: String, + default_product_code: String, + name: String, + registered_program_identification_number: String + } + ) + end + def to_hash + end + end + end +end diff --git a/rbi/lithic/models/network_program_list_params.rbi b/rbi/lithic/models/network_program_list_params.rbi new file mode 100644 index 00000000..4a32c1ac --- /dev/null +++ b/rbi/lithic/models/network_program_list_params.rbi @@ -0,0 +1,72 @@ +# typed: strong + +module Lithic + module Models + class NetworkProgramListParams < Lithic::Internal::Type::BaseModel + extend Lithic::Internal::Type::RequestParameters::Converter + include Lithic::Internal::Type::RequestParameters + + OrHash = + T.type_alias do + T.any(Lithic::NetworkProgramListParams, 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_ + + # Page size (for pagination). + sig { returns(T.nilable(Integer)) } + attr_reader :page_size + + sig { params(page_size: Integer).void } + attr_writer :page_size + + sig do + params( + begin_: Time, + end_: Time, + page_size: Integer, + 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, + # Page size (for pagination). + page_size: nil, + request_options: {} + ) + end + + sig do + override.returns( + { + begin_: Time, + end_: Time, + page_size: Integer, + request_options: Lithic::RequestOptions + } + ) + end + def to_hash + end + end + end +end diff --git a/rbi/lithic/models/network_program_retrieve_params.rbi b/rbi/lithic/models/network_program_retrieve_params.rbi new file mode 100644 index 00000000..343e6a3c --- /dev/null +++ b/rbi/lithic/models/network_program_retrieve_params.rbi @@ -0,0 +1,27 @@ +# typed: strong + +module Lithic + module Models + class NetworkProgramRetrieveParams < Lithic::Internal::Type::BaseModel + extend Lithic::Internal::Type::RequestParameters::Converter + include Lithic::Internal::Type::RequestParameters + + OrHash = + T.type_alias do + T.any(Lithic::NetworkProgramRetrieveParams, 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/non_pci_card.rbi b/rbi/lithic/models/non_pci_card.rbi index 68f4ee5f..ca3cad98 100644 --- a/rbi/lithic/models/non_pci_card.rbi +++ b/rbi/lithic/models/non_pci_card.rbi @@ -106,6 +106,13 @@ module Lithic sig { params(cardholder_currency: String).void } attr_writer :cardholder_currency + # Additional context or information related to the card. + sig { returns(T.nilable(String)) } + attr_reader :comment + + sig { params(comment: String).void } + attr_writer :comment + # Specifies the digital card art to be displayed in the user's digital wallet # after tokenization. This artwork must be approved by Mastercard and configured # by Lithic to use. @@ -143,6 +150,12 @@ module Lithic sig { params(memo: String).void } attr_writer :memo + # Globally unique identifier for the card's network program. Null if the card is + # not associated with a network program. Currently applicable to Visa cards + # participating in Account Level Management only + sig { returns(T.nilable(String)) } + attr_accessor :network_program_token + # Indicates if there are offline PIN changes pending card interaction with an # offline PIN terminal. Possible commands are: CHANGE_PIN, UNBLOCK_PIN. Applicable # only to cards issued in markets supporting offline PINs. @@ -166,6 +179,32 @@ module Lithic sig { returns(T.nilable(String)) } attr_accessor :replacement_for + # Card state substatus values: _ `LOST` - The physical card is no longer in the + # cardholder's possession due to being lost or never received by the cardholder. _ + # `COMPROMISED` - Card information has been exposed, potentially leading to + # unauthorized access. This may involve physical card theft, cloning, or online + # data breaches. _ `DAMAGED` - The physical card is not functioning properly, such + # as having chip failures or a demagnetized magnetic stripe. _ + # `END_USER_REQUEST` - The cardholder requested the closure of the card for + # reasons unrelated to fraud or damage, such as switching to a different product + # or closing the account. _ `ISSUER_REQUEST` - The issuer closed the card for + # reasons unrelated to fraud or damage, such as account inactivity, product or + # policy changes, or technology upgrades. _ `NOT_ACTIVE` - The card hasn’t had any + # transaction activity for a specified period, applicable to statuses like + # `PAUSED` or `CLOSED`. _ `SUSPICIOUS_ACTIVITY` - The card has one or more + # suspicious transactions or activities that require review. This can involve + # prompting the cardholder to confirm legitimate use or report confirmed fraud. _ + # `INTERNAL_REVIEW` - The card is temporarily paused pending further internal + # review. _ `EXPIRED` - The card has expired and has been closed without being + # reissued. _ `UNDELIVERABLE` - The card cannot be delivered to the cardholder and + # has been returned. \* `OTHER` - The reason for the status does not fall into any + # of the above categories. A comment can be provided to specify the reason. + sig { returns(T.nilable(Lithic::NonPCICard::Substatus::TaggedSymbol)) } + attr_reader :substatus + + sig { params(substatus: Lithic::NonPCICard::Substatus::OrSymbol).void } + attr_writer :substatus + # Card details without PCI information sig do params( @@ -182,14 +221,17 @@ module Lithic type: Lithic::NonPCICard::Type::OrSymbol, auth_rule_tokens: T::Array[String], cardholder_currency: String, + comment: String, digital_card_art_token: String, exp_month: String, exp_year: String, hostname: String, memo: String, + network_program_token: T.nilable(String), pending_commands: T::Array[String], product_id: String, - replacement_for: T.nilable(String) + replacement_for: T.nilable(String), + substatus: Lithic::NonPCICard::Substatus::OrSymbol ).returns(T.attached_class) end def self.new( @@ -258,6 +300,8 @@ module Lithic auth_rule_tokens: nil, # 3-character alphabetic ISO 4217 code for the currency of the cardholder. cardholder_currency: nil, + # Additional context or information related to the card. + comment: nil, # Specifies the digital card art to be displayed in the user's digital wallet # after tokenization. This artwork must be approved by Mastercard and configured # by Lithic to use. @@ -270,6 +314,10 @@ module Lithic hostname: nil, # Friendly name to identify the card. memo: nil, + # Globally unique identifier for the card's network program. Null if the card is + # not associated with a network program. Currently applicable to Visa cards + # participating in Account Level Management only + network_program_token: nil, # Indicates if there are offline PIN changes pending card interaction with an # offline PIN terminal. Possible commands are: CHANGE_PIN, UNBLOCK_PIN. Applicable # only to cards issued in markets supporting offline PINs. @@ -280,7 +328,28 @@ module Lithic product_id: nil, # If the card is a replacement for another card, the globally unique identifier # for the card that was replaced. - replacement_for: nil + replacement_for: nil, + # Card state substatus values: _ `LOST` - The physical card is no longer in the + # cardholder's possession due to being lost or never received by the cardholder. _ + # `COMPROMISED` - Card information has been exposed, potentially leading to + # unauthorized access. This may involve physical card theft, cloning, or online + # data breaches. _ `DAMAGED` - The physical card is not functioning properly, such + # as having chip failures or a demagnetized magnetic stripe. _ + # `END_USER_REQUEST` - The cardholder requested the closure of the card for + # reasons unrelated to fraud or damage, such as switching to a different product + # or closing the account. _ `ISSUER_REQUEST` - The issuer closed the card for + # reasons unrelated to fraud or damage, such as account inactivity, product or + # policy changes, or technology upgrades. _ `NOT_ACTIVE` - The card hasn’t had any + # transaction activity for a specified period, applicable to statuses like + # `PAUSED` or `CLOSED`. _ `SUSPICIOUS_ACTIVITY` - The card has one or more + # suspicious transactions or activities that require review. This can involve + # prompting the cardholder to confirm legitimate use or report confirmed fraud. _ + # `INTERNAL_REVIEW` - The card is temporarily paused pending further internal + # review. _ `EXPIRED` - The card has expired and has been closed without being + # reissued. _ `UNDELIVERABLE` - The card cannot be delivered to the cardholder and + # has been returned. \* `OTHER` - The reason for the status does not fall into any + # of the above categories. A comment can be provided to specify the reason. + substatus: nil ) end @@ -300,14 +369,17 @@ module Lithic type: Lithic::NonPCICard::Type::TaggedSymbol, auth_rule_tokens: T::Array[String], cardholder_currency: String, + comment: String, digital_card_art_token: String, exp_month: String, exp_year: String, hostname: String, memo: String, + network_program_token: T.nilable(String), pending_commands: T::Array[String], product_id: String, - replacement_for: T.nilable(String) + replacement_for: T.nilable(String), + substatus: Lithic::NonPCICard::Substatus::TaggedSymbol } ) end @@ -558,6 +630,64 @@ module Lithic def self.values end end + + # Card state substatus values: _ `LOST` - The physical card is no longer in the + # cardholder's possession due to being lost or never received by the cardholder. _ + # `COMPROMISED` - Card information has been exposed, potentially leading to + # unauthorized access. This may involve physical card theft, cloning, or online + # data breaches. _ `DAMAGED` - The physical card is not functioning properly, such + # as having chip failures or a demagnetized magnetic stripe. _ + # `END_USER_REQUEST` - The cardholder requested the closure of the card for + # reasons unrelated to fraud or damage, such as switching to a different product + # or closing the account. _ `ISSUER_REQUEST` - The issuer closed the card for + # reasons unrelated to fraud or damage, such as account inactivity, product or + # policy changes, or technology upgrades. _ `NOT_ACTIVE` - The card hasn’t had any + # transaction activity for a specified period, applicable to statuses like + # `PAUSED` or `CLOSED`. _ `SUSPICIOUS_ACTIVITY` - The card has one or more + # suspicious transactions or activities that require review. This can involve + # prompting the cardholder to confirm legitimate use or report confirmed fraud. _ + # `INTERNAL_REVIEW` - The card is temporarily paused pending further internal + # review. _ `EXPIRED` - The card has expired and has been closed without being + # reissued. _ `UNDELIVERABLE` - The card cannot be delivered to the cardholder and + # has been returned. \* `OTHER` - The reason for the status does not fall into any + # of the above categories. A comment can be provided to specify the reason. + module Substatus + extend Lithic::Internal::Type::Enum + + TaggedSymbol = + T.type_alias { T.all(Symbol, Lithic::NonPCICard::Substatus) } + OrSymbol = T.type_alias { T.any(Symbol, String) } + + LOST = T.let(:LOST, Lithic::NonPCICard::Substatus::TaggedSymbol) + COMPROMISED = + T.let(:COMPROMISED, Lithic::NonPCICard::Substatus::TaggedSymbol) + DAMAGED = T.let(:DAMAGED, Lithic::NonPCICard::Substatus::TaggedSymbol) + END_USER_REQUEST = + T.let(:END_USER_REQUEST, Lithic::NonPCICard::Substatus::TaggedSymbol) + ISSUER_REQUEST = + T.let(:ISSUER_REQUEST, Lithic::NonPCICard::Substatus::TaggedSymbol) + NOT_ACTIVE = + T.let(:NOT_ACTIVE, Lithic::NonPCICard::Substatus::TaggedSymbol) + SUSPICIOUS_ACTIVITY = + T.let( + :SUSPICIOUS_ACTIVITY, + Lithic::NonPCICard::Substatus::TaggedSymbol + ) + INTERNAL_REVIEW = + T.let(:INTERNAL_REVIEW, Lithic::NonPCICard::Substatus::TaggedSymbol) + EXPIRED = T.let(:EXPIRED, Lithic::NonPCICard::Substatus::TaggedSymbol) + UNDELIVERABLE = + T.let(:UNDELIVERABLE, Lithic::NonPCICard::Substatus::TaggedSymbol) + OTHER = T.let(:OTHER, Lithic::NonPCICard::Substatus::TaggedSymbol) + + sig do + override.returns( + T::Array[Lithic::NonPCICard::Substatus::TaggedSymbol] + ) + end + def self.values + end + end end end end diff --git a/rbi/lithic/models/payment_simulate_action_params.rbi b/rbi/lithic/models/payment_simulate_action_params.rbi index ac759693..4398a462 100644 --- a/rbi/lithic/models/payment_simulate_action_params.rbi +++ b/rbi/lithic/models/payment_simulate_action_params.rbi @@ -110,6 +110,11 @@ module Lithic :ACH_RECEIPT_SETTLED, Lithic::PaymentSimulateActionParams::EventType::TaggedSymbol ) + ACH_RECEIPT_RELEASED = + T.let( + :ACH_RECEIPT_RELEASED, + Lithic::PaymentSimulateActionParams::EventType::TaggedSymbol + ) ACH_RETURN_INITIATED = T.let( :ACH_RETURN_INITIATED, diff --git a/rbi/lithic/models/transaction.rbi b/rbi/lithic/models/transaction.rbi index cc0f7935..baaff9a8 100644 --- a/rbi/lithic/models/transaction.rbi +++ b/rbi/lithic/models/transaction.rbi @@ -523,7 +523,8 @@ module Lithic sig { returns(T.nilable(String)) } attr_accessor :three_ds_version - # Whether an acquirer exemption applied to the transaction. + # Whether an acquirer exemption applied to the transaction. Not currently + # populated and will be removed in the future. sig do returns( Lithic::Transaction::CardholderAuthentication::AcquirerExemption::TaggedSymbol @@ -531,7 +532,7 @@ module Lithic end attr_accessor :acquirer_exemption - # Indicates what the outcome of the 3DS authentication process is. + # Indicates the outcome of the 3DS authentication process. sig do returns( Lithic::Transaction::CardholderAuthentication::AuthenticationResult::TaggedSymbol @@ -550,12 +551,10 @@ module Lithic # 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. - # - # * `ACQUIRER_EXEMPTION`: The acquirer utilised an exemption to bypass Strong Customer Authentication (`transStatus = N`, or `transStatus = I`). Liability remains with the acquirer and in this case the `acquirer_exemption` field is expected to be not `NONE`. - # - # * `NONE`: Chargeback liability shift has not shifted to the issuer, i.e. the merchant is liable. - # + # - `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. @@ -632,21 +631,20 @@ module Lithic def self.new( # The 3DS version used for the authentication three_ds_version:, - # Whether an acquirer exemption applied to the transaction. + # Whether an acquirer exemption applied to the transaction. Not currently + # populated and will be removed in the future. acquirer_exemption:, - # Indicates what the outcome of the 3DS authentication process is. + # 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. - # - # * `ACQUIRER_EXEMPTION`: The acquirer utilised an exemption to bypass Strong Customer Authentication (`transStatus = N`, or `transStatus = I`). Liability remains with the acquirer and in this case the `acquirer_exemption` field is expected to be not `NONE`. - # - # * `NONE`: Chargeback liability shift has not shifted to the issuer, i.e. the merchant is liable. - # + # - `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. @@ -692,7 +690,8 @@ module Lithic def to_hash end - # Whether an acquirer exemption applied to the transaction. + # Whether an acquirer exemption applied to the transaction. Not currently + # populated and will be removed in the future. module AcquirerExemption extend Lithic::Internal::Type::Enum @@ -757,7 +756,7 @@ module Lithic end end - # Indicates what the outcome of the 3DS authentication process is. + # Indicates the outcome of the 3DS authentication process. module AuthenticationResult extend Lithic::Internal::Type::Enum @@ -860,12 +859,10 @@ module Lithic # 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. - # - # * `ACQUIRER_EXEMPTION`: The acquirer utilised an exemption to bypass Strong Customer Authentication (`transStatus = N`, or `transStatus = I`). Liability remains with the acquirer and in this case the `acquirer_exemption` field is expected to be not `NONE`. - # - # * `NONE`: Chargeback liability shift has not shifted to the issuer, i.e. the merchant is liable. - # + # - `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. @@ -886,9 +883,9 @@ module Lithic :"3DS_AUTHENTICATED", Lithic::Transaction::CardholderAuthentication::LiabilityShift::TaggedSymbol ) - ACQUIRER_EXEMPTION = + TOKEN_AUTHENTICATED = T.let( - :ACQUIRER_EXEMPTION, + :TOKEN_AUTHENTICATED, Lithic::Transaction::CardholderAuthentication::LiabilityShift::TaggedSymbol ) NONE = @@ -896,11 +893,6 @@ module Lithic :NONE, Lithic::Transaction::CardholderAuthentication::LiabilityShift::TaggedSymbol ) - TOKEN_AUTHENTICATED = - T.let( - :TOKEN_AUTHENTICATED, - Lithic::Transaction::CardholderAuthentication::LiabilityShift::TaggedSymbol - ) sig do override.returns( diff --git a/rbi/lithic/resources/accounts.rbi b/rbi/lithic/resources/accounts.rbi index 71f68f25..57c07a32 100644 --- a/rbi/lithic/resources/accounts.rbi +++ b/rbi/lithic/resources/accounts.rbi @@ -23,10 +23,12 @@ module Lithic sig do params( account_token: String, + comment: String, daily_spend_limit: Integer, lifetime_spend_limit: Integer, monthly_spend_limit: Integer, state: Lithic::AccountUpdateParams::State::OrSymbol, + substatus: Lithic::AccountUpdateParams::Substatus::OrSymbol, verification_address: Lithic::AccountUpdateParams::VerificationAddress::OrHash, request_options: Lithic::RequestOptions::OrHash @@ -35,6 +37,8 @@ module Lithic def update( # Globally unique identifier for account. account_token, + # Additional context or information related to the account. + comment: nil, # Amount (in cents) for the account's daily spend limit (e.g. 100000 would be a # $1,000 limit). By default the daily spend limit is set to $1,250. daily_spend_limit: nil, @@ -51,6 +55,34 @@ module Lithic monthly_spend_limit: nil, # Account states. state: nil, + # Account state substatus values: + # + # - `FRAUD_IDENTIFIED` - The account has been recognized as being created or used + # with stolen or fabricated identity information, encompassing both true + # identity theft and synthetic identities. + # - `SUSPICIOUS_ACTIVITY` - The account has exhibited suspicious behavior, such as + # unauthorized access or fraudulent transactions, necessitating further + # investigation. + # - `RISK_VIOLATION` - The account has been involved in deliberate misuse by the + # legitimate account holder. Examples include disputing valid transactions + # without cause, falsely claiming non-receipt of goods, or engaging in + # intentional bust-out schemes to exploit account services. + # - `END_USER_REQUEST` - The account holder has voluntarily requested the closure + # of the account for personal reasons. This encompasses situations such as + # bankruptcy, other financial considerations, or the account holder's death. + # - `ISSUER_REQUEST` - The issuer has initiated the closure of the account due to + # business strategy, risk management, inactivity, product changes, regulatory + # concerns, or violations of terms and conditions. + # - `NOT_ACTIVE` - The account has not had any transactions or payment activity + # within a specified period. This status applies to accounts that are paused or + # closed due to inactivity. + # - `INTERNAL_REVIEW` - The account is temporarily paused pending further internal + # review. In future implementations, this status may prevent clients from + # activating the account via APIs until the review is completed. + # - `OTHER` - The reason for the account's current status does not fall into any + # of the above categories. A comment should be provided to specify the + # particular reason. + substatus: nil, # Address used during Address Verification Service (AVS) checks during # transactions if enabled via Auth Rules. This field is deprecated as AVS checks # are no longer supported by Auth Rules. The field will be removed from the schema diff --git a/rbi/lithic/resources/cards.rbi b/rbi/lithic/resources/cards.rbi index 2fadeed7..644342f3 100644 --- a/rbi/lithic/resources/cards.rbi +++ b/rbi/lithic/resources/cards.rbi @@ -27,7 +27,10 @@ module Lithic pin: String, product_id: String, replacement_account_token: String, + replacement_comment: String, replacement_for: String, + replacement_substatus: + Lithic::CardCreateParams::ReplacementSubstatus::OrSymbol, shipping_address: Lithic::ShippingAddress::OrHash, shipping_method: Lithic::CardCreateParams::ShippingMethod::OrSymbol, spend_limit: Integer, @@ -94,10 +97,41 @@ module Lithic # If `replacement_for` is specified and this field is omitted, the replacement # card's account will be inferred from the card being replaced. replacement_account_token: nil, + # Additional context or information related to the card that this card will + # replace. + replacement_comment: nil, # Globally unique identifier for the card that this card will replace. If the card # type is `PHYSICAL` it will be replaced by a `PHYSICAL` card. If the card type is # `VIRTUAL` it will be replaced by a `VIRTUAL` card. replacement_for: nil, + # Card state substatus values for the card that this card will replace: + # + # - `LOST` - The physical card is no longer in the cardholder's possession due to + # being lost or never received by the cardholder. + # - `COMPROMISED` - Card information has been exposed, potentially leading to + # unauthorized access. This may involve physical card theft, cloning, or online + # data breaches. + # - `DAMAGED` - The physical card is not functioning properly, such as having chip + # failures or a demagnetized magnetic stripe. + # - `END_USER_REQUEST` - The cardholder requested the closure of the card for + # reasons unrelated to fraud or damage, such as switching to a different product + # or closing the account. + # - `ISSUER_REQUEST` - The issuer closed the card for reasons unrelated to fraud + # or damage, such as account inactivity, product or policy changes, or + # technology upgrades. + # - `NOT_ACTIVE` - The card hasn’t had any transaction activity for a specified + # period, applicable to statuses like `PAUSED` or `CLOSED`. + # - `SUSPICIOUS_ACTIVITY` - The card has one or more suspicious transactions or + # activities that require review. This can involve prompting the cardholder to + # confirm legitimate use or report confirmed fraud. + # - `INTERNAL_REVIEW` - The card is temporarily paused pending further internal + # review. + # - `EXPIRED` - The card has expired and has been closed without being reissued. + # - `UNDELIVERABLE` - The card cannot be delivered to the cardholder and has been + # returned. + # - `OTHER` - The reason for the status does not fall into any of the above + # categories. A comment should be provided to specify the reason. + replacement_substatus: nil, shipping_address: nil, # Shipping method for the card. Only applies to cards of type PHYSICAL. Use of # options besides `STANDARD` require additional permissions. @@ -162,18 +196,23 @@ module Lithic sig do params( card_token: String, + comment: String, digital_card_art_token: String, memo: String, + network_program_token: String, pin: String, pin_status: Lithic::CardUpdateParams::PinStatus::OrSymbol, spend_limit: Integer, spend_limit_duration: Lithic::SpendLimitDuration::OrSymbol, state: Lithic::CardUpdateParams::State::OrSymbol, + substatus: Lithic::CardUpdateParams::Substatus::OrSymbol, request_options: Lithic::RequestOptions::OrHash ).returns(Lithic::Card) end def update( card_token, + # Additional context or information related to the card. + comment: nil, # Specifies the digital card art to be displayed in the user’s digital wallet # after tokenization. This artwork must be approved by Mastercard and configured # by Lithic to use. See @@ -181,6 +220,9 @@ module Lithic digital_card_art_token: nil, # Friendly name to identify the card. memo: nil, + # Globally unique identifier for the card's network program. Currently applicable + # to Visa cards participating in Account Level Management only. + network_program_token: nil, # Encrypted PIN block (in base64). Only applies to cards of type `PHYSICAL` and # `VIRTUAL`. Changing PIN also resets PIN status to `OK`. See # [Encrypted PIN Block](https://docs.lithic.com/docs/cards#encrypted-pin-block). @@ -216,6 +258,34 @@ module Lithic # - `PAUSED` - Card will decline authorizations, but can be resumed at a later # time. state: nil, + # Card state substatus values: + # + # - `LOST` - The physical card is no longer in the cardholder's possession due to + # being lost or never received by the cardholder. + # - `COMPROMISED` - Card information has been exposed, potentially leading to + # unauthorized access. This may involve physical card theft, cloning, or online + # data breaches. + # - `DAMAGED` - The physical card is not functioning properly, such as having chip + # failures or a demagnetized magnetic stripe. + # - `END_USER_REQUEST` - The cardholder requested the closure of the card for + # reasons unrelated to fraud or damage, such as switching to a different product + # or closing the account. + # - `ISSUER_REQUEST` - The issuer closed the card for reasons unrelated to fraud + # or damage, such as account inactivity, product or policy changes, or + # technology upgrades. + # - `NOT_ACTIVE` - The card hasn’t had any transaction activity for a specified + # period, applicable to statuses like `PAUSED` or `CLOSED`. + # - `SUSPICIOUS_ACTIVITY` - The card has one or more suspicious transactions or + # activities that require review. This can involve prompting the cardholder to + # confirm legitimate use or report confirmed fraud. + # - `INTERNAL_REVIEW` - The card is temporarily paused pending further internal + # review. + # - `EXPIRED` - The card has expired and has been closed without being reissued. + # - `UNDELIVERABLE` - The card cannot be delivered to the cardholder and has been + # returned. + # - `OTHER` - The reason for the status does not fall into any of the above + # categories. A comment should be provided to specify the reason. + substatus: nil, request_options: {} ) end diff --git a/rbi/lithic/resources/management_operations.rbi b/rbi/lithic/resources/management_operations.rbi index b4dcf52a..3cc00fa7 100644 --- a/rbi/lithic/resources/management_operations.rbi +++ b/rbi/lithic/resources/management_operations.rbi @@ -16,6 +16,8 @@ module Lithic financial_account_token: String, token: String, memo: String, + on_closed_account: + Lithic::ManagementOperationCreateParams::OnClosedAccount::OrSymbol, subtype: String, user_defined_id: String, request_options: Lithic::RequestOptions::OrHash @@ -30,6 +32,8 @@ module Lithic financial_account_token:, token: nil, memo: nil, + # What to do if the financial account is closed when posting an operation + on_closed_account: nil, subtype: nil, user_defined_id: nil, request_options: {} diff --git a/rbi/lithic/resources/network_programs.rbi b/rbi/lithic/resources/network_programs.rbi new file mode 100644 index 00000000..175ccc14 --- /dev/null +++ b/rbi/lithic/resources/network_programs.rbi @@ -0,0 +1,48 @@ +# typed: strong + +module Lithic + module Resources + class NetworkPrograms + # Get network program. + sig do + params( + network_program_token: String, + request_options: Lithic::RequestOptions::OrHash + ).returns(Lithic::NetworkProgram) + end + def retrieve( + # Globally unique identifier for the network program. + network_program_token, + request_options: {} + ) + end + + # List network programs. + sig do + params( + begin_: Time, + end_: Time, + page_size: Integer, + request_options: Lithic::RequestOptions::OrHash + ).returns(Lithic::Internal::SinglePage[Lithic::NetworkProgram]) + 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, + # Page size (for pagination). + page_size: 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/sig/lithic/client.rbs b/sig/lithic/client.rbs index 43bb5a9d..2baaf930 100644 --- a/sig/lithic/client.rbs +++ b/sig/lithic/client.rbs @@ -69,6 +69,8 @@ module Lithic attr_reader fraud: Lithic::Resources::Fraud + attr_reader network_programs: Lithic::Resources::NetworkPrograms + def api_status: ( ?request_options: Lithic::request_opts ) -> Lithic::APIStatus diff --git a/sig/lithic/models.rbs b/sig/lithic/models.rbs index f1bd0abe..d0e0dd15 100644 --- a/sig/lithic/models.rbs +++ b/sig/lithic/models.rbs @@ -183,6 +183,10 @@ module Lithic class ExternalPaymentSettleParams = Lithic::Models::ExternalPaymentSettleParams + class ExternalResource = Lithic::Models::ExternalResource + + module ExternalResourceType = Lithic::Models::ExternalResourceType + class FinancialAccount = Lithic::Models::FinancialAccount class FinancialAccountCreateParams = Lithic::Models::FinancialAccountCreateParams @@ -231,6 +235,12 @@ module Lithic class MessageAttempt = Lithic::Models::MessageAttempt + class NetworkProgram = Lithic::Models::NetworkProgram + + class NetworkProgramListParams = Lithic::Models::NetworkProgramListParams + + class NetworkProgramRetrieveParams = Lithic::Models::NetworkProgramRetrieveParams + class NonPCICard = Lithic::Models::NonPCICard module OwnerType = Lithic::Models::OwnerType diff --git a/sig/lithic/models/account.rbs b/sig/lithic/models/account.rbs index 8f86f57b..93c36c8e 100644 --- a/sig/lithic/models/account.rbs +++ b/sig/lithic/models/account.rbs @@ -9,6 +9,8 @@ module Lithic account_holder: Lithic::Account::AccountHolder, auth_rule_tokens: ::Array[String], cardholder_currency: String, + comment: String, + substatus: Lithic::Models::Account::substatus, verification_address: Lithic::Account::VerificationAddress } @@ -35,6 +37,16 @@ module Lithic def cardholder_currency=: (String) -> String + attr_reader comment: String? + + def comment=: (String) -> String + + attr_reader substatus: Lithic::Models::Account::substatus? + + def substatus=: ( + Lithic::Models::Account::substatus + ) -> Lithic::Models::Account::substatus + attr_reader verification_address: Lithic::Account::VerificationAddress? def verification_address=: ( @@ -49,6 +61,8 @@ module Lithic ?account_holder: Lithic::Account::AccountHolder, ?auth_rule_tokens: ::Array[String], ?cardholder_currency: String, + ?comment: String, + ?substatus: Lithic::Models::Account::substatus, ?verification_address: Lithic::Account::VerificationAddress ) -> void @@ -60,6 +74,8 @@ module Lithic account_holder: Lithic::Account::AccountHolder, auth_rule_tokens: ::Array[String], cardholder_currency: String, + comment: String, + substatus: Lithic::Models::Account::substatus, verification_address: Lithic::Account::VerificationAddress } @@ -125,6 +141,31 @@ module Lithic } end + type substatus = + :FRAUD_IDENTIFIED + | :SUSPICIOUS_ACTIVITY + | :RISK_VIOLATION + | :END_USER_REQUEST + | :ISSUER_REQUEST + | :NOT_ACTIVE + | :INTERNAL_REVIEW + | :OTHER + + module Substatus + extend Lithic::Internal::Type::Enum + + FRAUD_IDENTIFIED: :FRAUD_IDENTIFIED + SUSPICIOUS_ACTIVITY: :SUSPICIOUS_ACTIVITY + RISK_VIOLATION: :RISK_VIOLATION + END_USER_REQUEST: :END_USER_REQUEST + ISSUER_REQUEST: :ISSUER_REQUEST + NOT_ACTIVE: :NOT_ACTIVE + INTERNAL_REVIEW: :INTERNAL_REVIEW + OTHER: :OTHER + + def self?.values: -> ::Array[Lithic::Models::Account::substatus] + end + type verification_address = { :address1 => String, diff --git a/sig/lithic/models/account_update_params.rbs b/sig/lithic/models/account_update_params.rbs index 201e5b89..f0a053a1 100644 --- a/sig/lithic/models/account_update_params.rbs +++ b/sig/lithic/models/account_update_params.rbs @@ -2,10 +2,12 @@ module Lithic module Models type account_update_params = { + comment: String, daily_spend_limit: Integer, lifetime_spend_limit: Integer, monthly_spend_limit: Integer, state: Lithic::Models::AccountUpdateParams::state, + substatus: Lithic::Models::AccountUpdateParams::substatus, verification_address: Lithic::AccountUpdateParams::VerificationAddress } & Lithic::Internal::Type::request_parameters @@ -14,6 +16,10 @@ module Lithic extend Lithic::Internal::Type::RequestParameters::Converter include Lithic::Internal::Type::RequestParameters + attr_reader comment: String? + + def comment=: (String) -> String + attr_reader daily_spend_limit: Integer? def daily_spend_limit=: (Integer) -> Integer @@ -32,6 +38,12 @@ module Lithic Lithic::Models::AccountUpdateParams::state ) -> Lithic::Models::AccountUpdateParams::state + attr_reader substatus: Lithic::Models::AccountUpdateParams::substatus? + + def substatus=: ( + Lithic::Models::AccountUpdateParams::substatus + ) -> Lithic::Models::AccountUpdateParams::substatus + attr_reader verification_address: Lithic::AccountUpdateParams::VerificationAddress? def verification_address=: ( @@ -39,19 +51,23 @@ module Lithic ) -> Lithic::AccountUpdateParams::VerificationAddress def initialize: ( + ?comment: String, ?daily_spend_limit: Integer, ?lifetime_spend_limit: Integer, ?monthly_spend_limit: Integer, ?state: Lithic::Models::AccountUpdateParams::state, + ?substatus: Lithic::Models::AccountUpdateParams::substatus, ?verification_address: Lithic::AccountUpdateParams::VerificationAddress, ?request_options: Lithic::request_opts ) -> void def to_hash: -> { + comment: String, daily_spend_limit: Integer, lifetime_spend_limit: Integer, monthly_spend_limit: Integer, state: Lithic::Models::AccountUpdateParams::state, + substatus: Lithic::Models::AccountUpdateParams::substatus, verification_address: Lithic::AccountUpdateParams::VerificationAddress, request_options: Lithic::RequestOptions } @@ -68,6 +84,31 @@ module Lithic def self?.values: -> ::Array[Lithic::Models::AccountUpdateParams::state] end + type substatus = + :FRAUD_IDENTIFIED + | :SUSPICIOUS_ACTIVITY + | :RISK_VIOLATION + | :END_USER_REQUEST + | :ISSUER_REQUEST + | :NOT_ACTIVE + | :INTERNAL_REVIEW + | :OTHER + + module Substatus + extend Lithic::Internal::Type::Enum + + FRAUD_IDENTIFIED: :FRAUD_IDENTIFIED + SUSPICIOUS_ACTIVITY: :SUSPICIOUS_ACTIVITY + RISK_VIOLATION: :RISK_VIOLATION + END_USER_REQUEST: :END_USER_REQUEST + ISSUER_REQUEST: :ISSUER_REQUEST + NOT_ACTIVE: :NOT_ACTIVE + INTERNAL_REVIEW: :INTERNAL_REVIEW + OTHER: :OTHER + + def self?.values: -> ::Array[Lithic::Models::AccountUpdateParams::substatus] + end + type verification_address = { :address1 => String, diff --git a/sig/lithic/models/aggregate_balance.rbs b/sig/lithic/models/aggregate_balance.rbs index cf3275be..0cac39a2 100644 --- a/sig/lithic/models/aggregate_balance.rbs +++ b/sig/lithic/models/aggregate_balance.rbs @@ -61,7 +61,7 @@ module Lithic updated: Time } - type financial_account_type = :ISSUING | :OPERATING | :RESERVE + type financial_account_type = :ISSUING | :OPERATING | :RESERVE | :SECURITY module FinancialAccountType extend Lithic::Internal::Type::Enum @@ -69,6 +69,7 @@ module Lithic ISSUING: :ISSUING OPERATING: :OPERATING RESERVE: :RESERVE + SECURITY: :SECURITY def self?.values: -> ::Array[Lithic::Models::AggregateBalance::financial_account_type] end diff --git a/sig/lithic/models/aggregate_balance_list_params.rbs b/sig/lithic/models/aggregate_balance_list_params.rbs index f7dc82df..69972670 100644 --- a/sig/lithic/models/aggregate_balance_list_params.rbs +++ b/sig/lithic/models/aggregate_balance_list_params.rbs @@ -26,7 +26,7 @@ module Lithic request_options: Lithic::RequestOptions } - type financial_account_type = :ISSUING | :OPERATING | :RESERVE + type financial_account_type = :ISSUING | :OPERATING | :RESERVE | :SECURITY module FinancialAccountType extend Lithic::Internal::Type::Enum @@ -34,6 +34,7 @@ module Lithic ISSUING: :ISSUING OPERATING: :OPERATING RESERVE: :RESERVE + SECURITY: :SECURITY def self?.values: -> ::Array[Lithic::Models::AggregateBalanceListParams::financial_account_type] end diff --git a/sig/lithic/models/auth_rules/velocity_limit_params.rbs b/sig/lithic/models/auth_rules/velocity_limit_params.rbs index 0347b364..dd20cee8 100644 --- a/sig/lithic/models/auth_rules/velocity_limit_params.rbs +++ b/sig/lithic/models/auth_rules/velocity_limit_params.rbs @@ -4,7 +4,7 @@ module Lithic type velocity_limit_params = { filters: Lithic::AuthRules::VelocityLimitParams::Filters, - period: Lithic::Models::AuthRules::VelocityLimitParams::period, + period: Lithic::Models::AuthRules::velocity_limit_params_period_window, scope: Lithic::Models::AuthRules::VelocityLimitParams::scope, limit_amount: Integer?, limit_count: Integer? @@ -13,7 +13,7 @@ module Lithic class VelocityLimitParams < Lithic::Internal::Type::BaseModel attr_accessor filters: Lithic::AuthRules::VelocityLimitParams::Filters - attr_accessor period: Lithic::Models::AuthRules::VelocityLimitParams::period + attr_accessor period: Lithic::Models::AuthRules::velocity_limit_params_period_window attr_accessor scope: Lithic::Models::AuthRules::VelocityLimitParams::scope @@ -23,7 +23,7 @@ module Lithic def initialize: ( filters: Lithic::AuthRules::VelocityLimitParams::Filters, - period: Lithic::Models::AuthRules::VelocityLimitParams::period, + period: Lithic::Models::AuthRules::velocity_limit_params_period_window, scope: Lithic::Models::AuthRules::VelocityLimitParams::scope, ?limit_amount: Integer?, ?limit_count: Integer? @@ -31,7 +31,7 @@ module Lithic def to_hash: -> { filters: Lithic::AuthRules::VelocityLimitParams::Filters, - period: Lithic::Models::AuthRules::VelocityLimitParams::period, + period: Lithic::Models::AuthRules::velocity_limit_params_period_window, scope: Lithic::Models::AuthRules::VelocityLimitParams::scope, limit_amount: Integer?, limit_count: Integer? @@ -69,16 +69,6 @@ module Lithic } end - type period = - Integer - | Lithic::Models::AuthRules::velocity_limit_params_period_window - - module Period - extend Lithic::Internal::Type::Union - - def self?.variants: -> ::Array[Lithic::Models::AuthRules::VelocityLimitParams::period] - end - type scope = :CARD | :ACCOUNT module Scope diff --git a/sig/lithic/models/auth_rules/velocity_limit_params_period_window.rbs b/sig/lithic/models/auth_rules/velocity_limit_params_period_window.rbs index 48203829..a977f7c8 100644 --- a/sig/lithic/models/auth_rules/velocity_limit_params_period_window.rbs +++ b/sig/lithic/models/auth_rules/velocity_limit_params_period_window.rbs @@ -1,17 +1,222 @@ module Lithic module Models module AuthRules - type velocity_limit_params_period_window = :DAY | :WEEK | :MONTH | :YEAR + type velocity_limit_params_period_window = + Integer + | Lithic::Models::AuthRules::VelocityLimitParamsPeriodWindow::fixed_window + | Lithic::AuthRules::VelocityLimitParamsPeriodWindow::TrailingWindowObject + | Lithic::AuthRules::VelocityLimitParamsPeriodWindow::FixedWindowDay + | Lithic::AuthRules::VelocityLimitParamsPeriodWindow::FixedWindowWeek + | Lithic::AuthRules::VelocityLimitParamsPeriodWindow::FixedWindowMonth + | Lithic::AuthRules::VelocityLimitParamsPeriodWindow::FixedWindowYear module VelocityLimitParamsPeriodWindow - extend Lithic::Internal::Type::Enum + extend Lithic::Internal::Type::Union - DAY: :DAY - WEEK: :WEEK - MONTH: :MONTH - YEAR: :YEAR + type fixed_window = :DAY | :WEEK | :MONTH | :YEAR - def self?.values: -> ::Array[Lithic::Models::AuthRules::velocity_limit_params_period_window] + module FixedWindow + extend Lithic::Internal::Type::Enum + + DAY: :DAY + WEEK: :WEEK + MONTH: :MONTH + YEAR: :YEAR + + def self?.values: -> ::Array[Lithic::Models::AuthRules::VelocityLimitParamsPeriodWindow::fixed_window] + end + + type trailing_window_object = + { + duration: Integer, + type: Lithic::Models::AuthRules::VelocityLimitParamsPeriodWindow::TrailingWindowObject::type_ + } + + class TrailingWindowObject < Lithic::Internal::Type::BaseModel + attr_reader duration: Integer? + + def duration=: (Integer) -> Integer + + attr_reader type: Lithic::Models::AuthRules::VelocityLimitParamsPeriodWindow::TrailingWindowObject::type_? + + def type=: ( + Lithic::Models::AuthRules::VelocityLimitParamsPeriodWindow::TrailingWindowObject::type_ + ) -> Lithic::Models::AuthRules::VelocityLimitParamsPeriodWindow::TrailingWindowObject::type_ + + def initialize: ( + ?duration: Integer, + ?type: Lithic::Models::AuthRules::VelocityLimitParamsPeriodWindow::TrailingWindowObject::type_ + ) -> void + + def to_hash: -> { + duration: Integer, + type: Lithic::Models::AuthRules::VelocityLimitParamsPeriodWindow::TrailingWindowObject::type_ + } + + type type_ = :CUSTOM + + module Type + extend Lithic::Internal::Type::Enum + + CUSTOM: :CUSTOM + + def self?.values: -> ::Array[Lithic::Models::AuthRules::VelocityLimitParamsPeriodWindow::TrailingWindowObject::type_] + end + end + + type fixed_window_day = + { + type: Lithic::Models::AuthRules::VelocityLimitParamsPeriodWindow::FixedWindowDay::type_ + } + + class FixedWindowDay < Lithic::Internal::Type::BaseModel + attr_reader type: Lithic::Models::AuthRules::VelocityLimitParamsPeriodWindow::FixedWindowDay::type_? + + def type=: ( + Lithic::Models::AuthRules::VelocityLimitParamsPeriodWindow::FixedWindowDay::type_ + ) -> Lithic::Models::AuthRules::VelocityLimitParamsPeriodWindow::FixedWindowDay::type_ + + def initialize: ( + ?type: Lithic::Models::AuthRules::VelocityLimitParamsPeriodWindow::FixedWindowDay::type_ + ) -> void + + def to_hash: -> { + type: Lithic::Models::AuthRules::VelocityLimitParamsPeriodWindow::FixedWindowDay::type_ + } + + type type_ = :DAY + + module Type + extend Lithic::Internal::Type::Enum + + DAY: :DAY + + def self?.values: -> ::Array[Lithic::Models::AuthRules::VelocityLimitParamsPeriodWindow::FixedWindowDay::type_] + end + end + + type fixed_window_week = + { + day_of_week: Integer, + type: Lithic::Models::AuthRules::VelocityLimitParamsPeriodWindow::FixedWindowWeek::type_ + } + + class FixedWindowWeek < Lithic::Internal::Type::BaseModel + attr_reader day_of_week: Integer? + + def day_of_week=: (Integer) -> Integer + + attr_reader type: Lithic::Models::AuthRules::VelocityLimitParamsPeriodWindow::FixedWindowWeek::type_? + + def type=: ( + Lithic::Models::AuthRules::VelocityLimitParamsPeriodWindow::FixedWindowWeek::type_ + ) -> Lithic::Models::AuthRules::VelocityLimitParamsPeriodWindow::FixedWindowWeek::type_ + + def initialize: ( + ?day_of_week: Integer, + ?type: Lithic::Models::AuthRules::VelocityLimitParamsPeriodWindow::FixedWindowWeek::type_ + ) -> void + + def to_hash: -> { + day_of_week: Integer, + type: Lithic::Models::AuthRules::VelocityLimitParamsPeriodWindow::FixedWindowWeek::type_ + } + + type type_ = :WEEK + + module Type + extend Lithic::Internal::Type::Enum + + WEEK: :WEEK + + def self?.values: -> ::Array[Lithic::Models::AuthRules::VelocityLimitParamsPeriodWindow::FixedWindowWeek::type_] + end + end + + type fixed_window_month = + { + day_of_month: Integer, + type: Lithic::Models::AuthRules::VelocityLimitParamsPeriodWindow::FixedWindowMonth::type_ + } + + class FixedWindowMonth < Lithic::Internal::Type::BaseModel + attr_reader day_of_month: Integer? + + def day_of_month=: (Integer) -> Integer + + attr_reader type: Lithic::Models::AuthRules::VelocityLimitParamsPeriodWindow::FixedWindowMonth::type_? + + def type=: ( + Lithic::Models::AuthRules::VelocityLimitParamsPeriodWindow::FixedWindowMonth::type_ + ) -> Lithic::Models::AuthRules::VelocityLimitParamsPeriodWindow::FixedWindowMonth::type_ + + def initialize: ( + ?day_of_month: Integer, + ?type: Lithic::Models::AuthRules::VelocityLimitParamsPeriodWindow::FixedWindowMonth::type_ + ) -> void + + def to_hash: -> { + day_of_month: Integer, + type: Lithic::Models::AuthRules::VelocityLimitParamsPeriodWindow::FixedWindowMonth::type_ + } + + type type_ = :MONTH + + module Type + extend Lithic::Internal::Type::Enum + + MONTH: :MONTH + + def self?.values: -> ::Array[Lithic::Models::AuthRules::VelocityLimitParamsPeriodWindow::FixedWindowMonth::type_] + end + end + + type fixed_window_year = + { + day_of_month: Integer, + month: Integer, + type: Lithic::Models::AuthRules::VelocityLimitParamsPeriodWindow::FixedWindowYear::type_ + } + + class FixedWindowYear < Lithic::Internal::Type::BaseModel + attr_reader day_of_month: Integer? + + def day_of_month=: (Integer) -> Integer + + attr_reader month: Integer? + + def month=: (Integer) -> Integer + + attr_reader type: Lithic::Models::AuthRules::VelocityLimitParamsPeriodWindow::FixedWindowYear::type_? + + def type=: ( + Lithic::Models::AuthRules::VelocityLimitParamsPeriodWindow::FixedWindowYear::type_ + ) -> Lithic::Models::AuthRules::VelocityLimitParamsPeriodWindow::FixedWindowYear::type_ + + def initialize: ( + ?day_of_month: Integer, + ?month: Integer, + ?type: Lithic::Models::AuthRules::VelocityLimitParamsPeriodWindow::FixedWindowYear::type_ + ) -> void + + def to_hash: -> { + day_of_month: Integer, + month: Integer, + type: Lithic::Models::AuthRules::VelocityLimitParamsPeriodWindow::FixedWindowYear::type_ + } + + type type_ = :YEAR + + module Type + extend Lithic::Internal::Type::Enum + + YEAR: :YEAR + + def self?.values: -> ::Array[Lithic::Models::AuthRules::VelocityLimitParamsPeriodWindow::FixedWindowYear::type_] + end + end + + def self?.variants: -> ::Array[Lithic::Models::AuthRules::velocity_limit_params_period_window] end end end diff --git a/sig/lithic/models/balance.rbs b/sig/lithic/models/balance.rbs index 84079e90..89c38ca7 100644 --- a/sig/lithic/models/balance.rbs +++ b/sig/lithic/models/balance.rbs @@ -61,7 +61,7 @@ module Lithic updated: Time } - type financial_account_type = :ISSUING | :OPERATING | :RESERVE + type financial_account_type = :ISSUING | :OPERATING | :RESERVE | :SECURITY module FinancialAccountType extend Lithic::Internal::Type::Enum @@ -69,6 +69,7 @@ module Lithic ISSUING: :ISSUING OPERATING: :OPERATING RESERVE: :RESERVE + SECURITY: :SECURITY def self?.values: -> ::Array[Lithic::Models::Balance::financial_account_type] end diff --git a/sig/lithic/models/balance_list_params.rbs b/sig/lithic/models/balance_list_params.rbs index 369faa2c..b4a34046 100644 --- a/sig/lithic/models/balance_list_params.rbs +++ b/sig/lithic/models/balance_list_params.rbs @@ -47,7 +47,7 @@ module Lithic request_options: Lithic::RequestOptions } - type financial_account_type = :ISSUING | :OPERATING | :RESERVE + type financial_account_type = :ISSUING | :OPERATING | :RESERVE | :SECURITY module FinancialAccountType extend Lithic::Internal::Type::Enum @@ -55,6 +55,7 @@ module Lithic ISSUING: :ISSUING OPERATING: :OPERATING RESERVE: :RESERVE + SECURITY: :SECURITY def self?.values: -> ::Array[Lithic::Models::BalanceListParams::financial_account_type] end diff --git a/sig/lithic/models/card_create_params.rbs b/sig/lithic/models/card_create_params.rbs index 904d8996..27478c44 100644 --- a/sig/lithic/models/card_create_params.rbs +++ b/sig/lithic/models/card_create_params.rbs @@ -13,7 +13,9 @@ module Lithic pin: String, product_id: String, replacement_account_token: String, + replacement_comment: String, replacement_for: String, + replacement_substatus: Lithic::Models::CardCreateParams::replacement_substatus, shipping_address: Lithic::ShippingAddress, shipping_method: Lithic::Models::CardCreateParams::shipping_method, spend_limit: Integer, @@ -68,10 +70,20 @@ module Lithic def replacement_account_token=: (String) -> String + attr_reader replacement_comment: String? + + def replacement_comment=: (String) -> String + attr_reader replacement_for: String? def replacement_for=: (String) -> String + attr_reader replacement_substatus: Lithic::Models::CardCreateParams::replacement_substatus? + + def replacement_substatus=: ( + Lithic::Models::CardCreateParams::replacement_substatus + ) -> Lithic::Models::CardCreateParams::replacement_substatus + attr_reader shipping_address: Lithic::ShippingAddress? def shipping_address=: ( @@ -112,7 +124,9 @@ module Lithic ?pin: String, ?product_id: String, ?replacement_account_token: String, + ?replacement_comment: String, ?replacement_for: String, + ?replacement_substatus: Lithic::Models::CardCreateParams::replacement_substatus, ?shipping_address: Lithic::ShippingAddress, ?shipping_method: Lithic::Models::CardCreateParams::shipping_method, ?spend_limit: Integer, @@ -133,7 +147,9 @@ module Lithic pin: String, product_id: String, replacement_account_token: String, + replacement_comment: String, replacement_for: String, + replacement_substatus: Lithic::Models::CardCreateParams::replacement_substatus, shipping_address: Lithic::ShippingAddress, shipping_method: Lithic::Models::CardCreateParams::shipping_method, spend_limit: Integer, @@ -163,6 +179,37 @@ module Lithic def self?.values: -> ::Array[Lithic::Models::CardCreateParams::type_] end + type replacement_substatus = + :LOST + | :COMPROMISED + | :DAMAGED + | :END_USER_REQUEST + | :ISSUER_REQUEST + | :NOT_ACTIVE + | :SUSPICIOUS_ACTIVITY + | :INTERNAL_REVIEW + | :EXPIRED + | :UNDELIVERABLE + | :OTHER + + module ReplacementSubstatus + extend Lithic::Internal::Type::Enum + + LOST: :LOST + COMPROMISED: :COMPROMISED + DAMAGED: :DAMAGED + END_USER_REQUEST: :END_USER_REQUEST + ISSUER_REQUEST: :ISSUER_REQUEST + NOT_ACTIVE: :NOT_ACTIVE + SUSPICIOUS_ACTIVITY: :SUSPICIOUS_ACTIVITY + INTERNAL_REVIEW: :INTERNAL_REVIEW + EXPIRED: :EXPIRED + UNDELIVERABLE: :UNDELIVERABLE + OTHER: :OTHER + + def self?.values: -> ::Array[Lithic::Models::CardCreateParams::replacement_substatus] + end + type shipping_method = :"2_DAY" | :EXPEDITED diff --git a/sig/lithic/models/card_program.rbs b/sig/lithic/models/card_program.rbs index 00036b6c..7b71b045 100644 --- a/sig/lithic/models/card_program.rbs +++ b/sig/lithic/models/card_program.rbs @@ -7,6 +7,7 @@ module Lithic name: String, pan_range_end: String, pan_range_start: String, + account_level_management_enabled: bool, cardholder_currency: String, settlement_currencies: ::Array[String] } @@ -22,6 +23,10 @@ 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 @@ -36,6 +41,7 @@ module Lithic name: String, pan_range_end: String, pan_range_start: String, + ?account_level_management_enabled: bool, ?cardholder_currency: String, ?settlement_currencies: ::Array[String] ) -> void @@ -46,6 +52,7 @@ module Lithic 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_update_params.rbs b/sig/lithic/models/card_update_params.rbs index ad253966..9f03c32b 100644 --- a/sig/lithic/models/card_update_params.rbs +++ b/sig/lithic/models/card_update_params.rbs @@ -2,13 +2,16 @@ module Lithic module Models type card_update_params = { + comment: String, digital_card_art_token: String, memo: String, + network_program_token: String, pin: String, pin_status: Lithic::Models::CardUpdateParams::pin_status, spend_limit: Integer, spend_limit_duration: Lithic::Models::spend_limit_duration, - state: Lithic::Models::CardUpdateParams::state + state: Lithic::Models::CardUpdateParams::state, + substatus: Lithic::Models::CardUpdateParams::substatus } & Lithic::Internal::Type::request_parameters @@ -16,6 +19,10 @@ module Lithic extend Lithic::Internal::Type::RequestParameters::Converter include Lithic::Internal::Type::RequestParameters + attr_reader comment: String? + + def comment=: (String) -> String + attr_reader digital_card_art_token: String? def digital_card_art_token=: (String) -> String @@ -24,6 +31,10 @@ module Lithic def memo=: (String) -> String + attr_reader network_program_token: String? + + def network_program_token=: (String) -> String + attr_reader pin: String? def pin=: (String) -> String @@ -50,25 +61,37 @@ module Lithic Lithic::Models::CardUpdateParams::state ) -> Lithic::Models::CardUpdateParams::state + attr_reader substatus: Lithic::Models::CardUpdateParams::substatus? + + def substatus=: ( + Lithic::Models::CardUpdateParams::substatus + ) -> Lithic::Models::CardUpdateParams::substatus + def initialize: ( + ?comment: String, ?digital_card_art_token: String, ?memo: String, + ?network_program_token: String, ?pin: String, ?pin_status: Lithic::Models::CardUpdateParams::pin_status, ?spend_limit: Integer, ?spend_limit_duration: Lithic::Models::spend_limit_duration, ?state: Lithic::Models::CardUpdateParams::state, + ?substatus: Lithic::Models::CardUpdateParams::substatus, ?request_options: Lithic::request_opts ) -> void def to_hash: -> { + comment: String, digital_card_art_token: String, memo: String, + network_program_token: String, pin: String, pin_status: Lithic::Models::CardUpdateParams::pin_status, spend_limit: Integer, spend_limit_duration: Lithic::Models::spend_limit_duration, state: Lithic::Models::CardUpdateParams::state, + substatus: Lithic::Models::CardUpdateParams::substatus, request_options: Lithic::RequestOptions } @@ -93,6 +116,37 @@ module Lithic def self?.values: -> ::Array[Lithic::Models::CardUpdateParams::state] end + + type substatus = + :LOST + | :COMPROMISED + | :DAMAGED + | :END_USER_REQUEST + | :ISSUER_REQUEST + | :NOT_ACTIVE + | :SUSPICIOUS_ACTIVITY + | :INTERNAL_REVIEW + | :EXPIRED + | :UNDELIVERABLE + | :OTHER + + module Substatus + extend Lithic::Internal::Type::Enum + + LOST: :LOST + COMPROMISED: :COMPROMISED + DAMAGED: :DAMAGED + END_USER_REQUEST: :END_USER_REQUEST + ISSUER_REQUEST: :ISSUER_REQUEST + NOT_ACTIVE: :NOT_ACTIVE + SUSPICIOUS_ACTIVITY: :SUSPICIOUS_ACTIVITY + INTERNAL_REVIEW: :INTERNAL_REVIEW + EXPIRED: :EXPIRED + UNDELIVERABLE: :UNDELIVERABLE + OTHER: :OTHER + + def self?.values: -> ::Array[Lithic::Models::CardUpdateParams::substatus] + end end end end diff --git a/sig/lithic/models/cards/balance_list_response.rbs b/sig/lithic/models/cards/balance_list_response.rbs index ffeda9a3..458ee4e2 100644 --- a/sig/lithic/models/cards/balance_list_response.rbs +++ b/sig/lithic/models/cards/balance_list_response.rbs @@ -62,7 +62,7 @@ module Lithic updated: Time } - type type_ = :ISSUING | :OPERATING | :RESERVE + type type_ = :ISSUING | :OPERATING | :RESERVE | :SECURITY module Type extend Lithic::Internal::Type::Enum @@ -70,6 +70,7 @@ module Lithic ISSUING: :ISSUING OPERATING: :OPERATING RESERVE: :RESERVE + SECURITY: :SECURITY def self?.values: -> ::Array[Lithic::Models::Cards::BalanceListResponse::type_] end diff --git a/sig/lithic/models/external_resource.rbs b/sig/lithic/models/external_resource.rbs new file mode 100644 index 00000000..1158a611 --- /dev/null +++ b/sig/lithic/models/external_resource.rbs @@ -0,0 +1,32 @@ +module Lithic + module Models + type external_resource = + { + external_resource_token: String, + external_resource_type: Lithic::Models::external_resource_type, + external_resource_sub_token: String + } + + class ExternalResource < Lithic::Internal::Type::BaseModel + attr_accessor external_resource_token: String + + attr_accessor external_resource_type: Lithic::Models::external_resource_type + + attr_reader external_resource_sub_token: String? + + def external_resource_sub_token=: (String) -> String + + def initialize: ( + external_resource_token: String, + external_resource_type: Lithic::Models::external_resource_type, + ?external_resource_sub_token: String + ) -> void + + def to_hash: -> { + external_resource_token: String, + external_resource_type: Lithic::Models::external_resource_type, + external_resource_sub_token: String + } + end + end +end diff --git a/sig/lithic/models/external_resource_type.rbs b/sig/lithic/models/external_resource_type.rbs new file mode 100644 index 00000000..1fdab9da --- /dev/null +++ b/sig/lithic/models/external_resource_type.rbs @@ -0,0 +1,16 @@ +module Lithic + module Models + type external_resource_type = :STATEMENT | :COLLECTION | :DISPUTE | :UNKNOWN + + module ExternalResourceType + extend Lithic::Internal::Type::Enum + + STATEMENT: :STATEMENT + COLLECTION: :COLLECTION + DISPUTE: :DISPUTE + UNKNOWN: :UNKNOWN + + def self?.values: -> ::Array[Lithic::Models::external_resource_type] + end + end +end diff --git a/sig/lithic/models/financial_account_list_params.rbs b/sig/lithic/models/financial_account_list_params.rbs index e349b391..6e8ea1fd 100644 --- a/sig/lithic/models/financial_account_list_params.rbs +++ b/sig/lithic/models/financial_account_list_params.rbs @@ -40,7 +40,7 @@ module Lithic request_options: Lithic::RequestOptions } - type type_ = :ISSUING | :OPERATING | :RESERVE + type type_ = :ISSUING | :OPERATING | :RESERVE | :SECURITY module Type extend Lithic::Internal::Type::Enum @@ -48,6 +48,7 @@ module Lithic ISSUING: :ISSUING OPERATING: :OPERATING RESERVE: :RESERVE + SECURITY: :SECURITY def self?.values: -> ::Array[Lithic::Models::FinancialAccountListParams::type_] end diff --git a/sig/lithic/models/financial_accounts/balance_list_response.rbs b/sig/lithic/models/financial_accounts/balance_list_response.rbs index be6756f6..1f9ed379 100644 --- a/sig/lithic/models/financial_accounts/balance_list_response.rbs +++ b/sig/lithic/models/financial_accounts/balance_list_response.rbs @@ -62,7 +62,7 @@ module Lithic updated: Time } - type type_ = :ISSUING | :OPERATING | :RESERVE + type type_ = :ISSUING | :OPERATING | :RESERVE | :SECURITY module Type extend Lithic::Internal::Type::Enum @@ -70,6 +70,7 @@ module Lithic ISSUING: :ISSUING OPERATING: :OPERATING RESERVE: :RESERVE + SECURITY: :SECURITY def self?.values: -> ::Array[Lithic::Models::FinancialAccounts::BalanceListResponse::type_] end diff --git a/sig/lithic/models/management_operation_create_params.rbs b/sig/lithic/models/management_operation_create_params.rbs index f5e5c2ba..1e47b957 100644 --- a/sig/lithic/models/management_operation_create_params.rbs +++ b/sig/lithic/models/management_operation_create_params.rbs @@ -10,6 +10,7 @@ module Lithic financial_account_token: String, token: String, memo: String, + on_closed_account: Lithic::Models::ManagementOperationCreateParams::on_closed_account, subtype: String, user_defined_id: String } @@ -39,6 +40,12 @@ module Lithic def memo=: (String) -> String + attr_reader on_closed_account: Lithic::Models::ManagementOperationCreateParams::on_closed_account? + + def on_closed_account=: ( + Lithic::Models::ManagementOperationCreateParams::on_closed_account + ) -> Lithic::Models::ManagementOperationCreateParams::on_closed_account + attr_reader subtype: String? def subtype=: (String) -> String @@ -56,6 +63,7 @@ module Lithic financial_account_token: String, ?token: String, ?memo: String, + ?on_closed_account: Lithic::Models::ManagementOperationCreateParams::on_closed_account, ?subtype: String, ?user_defined_id: String, ?request_options: Lithic::request_opts @@ -70,6 +78,7 @@ module Lithic financial_account_token: String, token: String, memo: String, + on_closed_account: Lithic::Models::ManagementOperationCreateParams::on_closed_account, subtype: String, user_defined_id: String, request_options: Lithic::RequestOptions @@ -151,6 +160,17 @@ module Lithic def self?.values: -> ::Array[Lithic::Models::ManagementOperationCreateParams::event_type] end + + type on_closed_account = :FAIL | :USE_SUSPENSE + + module OnClosedAccount + extend Lithic::Internal::Type::Enum + + FAIL: :FAIL + USE_SUSPENSE: :USE_SUSPENSE + + def self?.values: -> ::Array[Lithic::Models::ManagementOperationCreateParams::on_closed_account] + end end end end diff --git a/sig/lithic/models/management_operation_transaction.rbs b/sig/lithic/models/management_operation_transaction.rbs index a7059c02..c198e192 100644 --- a/sig/lithic/models/management_operation_transaction.rbs +++ b/sig/lithic/models/management_operation_transaction.rbs @@ -15,6 +15,7 @@ module Lithic status: Lithic::Models::ManagementOperationTransaction::status, transaction_series: Lithic::ManagementOperationTransaction::TransactionSeries?, updated: Time, + external_resource: Lithic::ExternalResource?, user_defined_id: String } @@ -45,6 +46,8 @@ module Lithic attr_accessor updated: Time + attr_accessor external_resource: Lithic::ExternalResource? + attr_reader user_defined_id: String? def user_defined_id=: (String) -> String @@ -63,6 +66,7 @@ module Lithic status: Lithic::Models::ManagementOperationTransaction::status, transaction_series: Lithic::ManagementOperationTransaction::TransactionSeries?, updated: Time, + ?external_resource: Lithic::ExternalResource?, ?user_defined_id: String ) -> void @@ -80,6 +84,7 @@ module Lithic status: Lithic::Models::ManagementOperationTransaction::status, transaction_series: Lithic::ManagementOperationTransaction::TransactionSeries?, updated: Time, + external_resource: Lithic::ExternalResource?, user_defined_id: String } diff --git a/sig/lithic/models/network_program.rbs b/sig/lithic/models/network_program.rbs new file mode 100644 index 00000000..680670ef --- /dev/null +++ b/sig/lithic/models/network_program.rbs @@ -0,0 +1,35 @@ +module Lithic + module Models + type network_program = + { + token: String, + default_product_code: String, + name: String, + registered_program_identification_number: String + } + + class NetworkProgram < Lithic::Internal::Type::BaseModel + attr_accessor token: String + + attr_accessor default_product_code: String + + attr_accessor name: String + + attr_accessor registered_program_identification_number: String + + def initialize: ( + token: String, + default_product_code: String, + name: String, + registered_program_identification_number: String + ) -> void + + def to_hash: -> { + token: String, + default_product_code: String, + name: String, + registered_program_identification_number: String + } + end + end +end diff --git a/sig/lithic/models/network_program_list_params.rbs b/sig/lithic/models/network_program_list_params.rbs new file mode 100644 index 00000000..226627a5 --- /dev/null +++ b/sig/lithic/models/network_program_list_params.rbs @@ -0,0 +1,38 @@ +module Lithic + module Models + type network_program_list_params = + { begin_: Time, end_: Time, page_size: Integer } + & Lithic::Internal::Type::request_parameters + + class NetworkProgramListParams < 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 page_size: Integer? + + def page_size=: (Integer) -> Integer + + def initialize: ( + ?begin_: Time, + ?end_: Time, + ?page_size: Integer, + ?request_options: Lithic::request_opts + ) -> void + + def to_hash: -> { + begin_: Time, + end_: Time, + page_size: Integer, + request_options: Lithic::RequestOptions + } + end + end +end diff --git a/sig/lithic/models/network_program_retrieve_params.rbs b/sig/lithic/models/network_program_retrieve_params.rbs new file mode 100644 index 00000000..7ce7e43b --- /dev/null +++ b/sig/lithic/models/network_program_retrieve_params.rbs @@ -0,0 +1,15 @@ +module Lithic + module Models + type network_program_retrieve_params = + { } & Lithic::Internal::Type::request_parameters + + class NetworkProgramRetrieveParams < 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/non_pci_card.rbs b/sig/lithic/models/non_pci_card.rbs index d3d2e201..9d2659f9 100644 --- a/sig/lithic/models/non_pci_card.rbs +++ b/sig/lithic/models/non_pci_card.rbs @@ -15,14 +15,17 @@ module Lithic type: Lithic::Models::NonPCICard::type_, auth_rule_tokens: ::Array[String], cardholder_currency: String, + comment: String, digital_card_art_token: String, exp_month: String, exp_year: String, hostname: String, memo: String, + network_program_token: String?, pending_commands: ::Array[String], product_id: String, - replacement_for: String? + replacement_for: String?, + substatus: Lithic::Models::NonPCICard::substatus } class NonPCICard < Lithic::Internal::Type::BaseModel @@ -56,6 +59,10 @@ module Lithic def cardholder_currency=: (String) -> String + attr_reader comment: String? + + def comment=: (String) -> String + attr_reader digital_card_art_token: String? def digital_card_art_token=: (String) -> String @@ -76,6 +83,8 @@ module Lithic def memo=: (String) -> String + attr_accessor network_program_token: String? + attr_reader pending_commands: ::Array[String]? def pending_commands=: (::Array[String]) -> ::Array[String] @@ -86,6 +95,12 @@ module Lithic attr_accessor replacement_for: String? + attr_reader substatus: Lithic::Models::NonPCICard::substatus? + + def substatus=: ( + Lithic::Models::NonPCICard::substatus + ) -> Lithic::Models::NonPCICard::substatus + def initialize: ( token: String, account_token: String, @@ -100,14 +115,17 @@ module Lithic type: Lithic::Models::NonPCICard::type_, ?auth_rule_tokens: ::Array[String], ?cardholder_currency: String, + ?comment: String, ?digital_card_art_token: String, ?exp_month: String, ?exp_year: String, ?hostname: String, ?memo: String, + ?network_program_token: String?, ?pending_commands: ::Array[String], ?product_id: String, - ?replacement_for: String? + ?replacement_for: String?, + ?substatus: Lithic::Models::NonPCICard::substatus ) -> void def to_hash: -> { @@ -124,14 +142,17 @@ module Lithic type: Lithic::Models::NonPCICard::type_, auth_rule_tokens: ::Array[String], cardholder_currency: String, + comment: String, digital_card_art_token: String, exp_month: String, exp_year: String, hostname: String, memo: String, + network_program_token: String?, pending_commands: ::Array[String], product_id: String, - replacement_for: String? + replacement_for: String?, + substatus: Lithic::Models::NonPCICard::substatus } type funding = @@ -255,6 +276,37 @@ module Lithic def self?.values: -> ::Array[Lithic::Models::NonPCICard::type_] end + + type substatus = + :LOST + | :COMPROMISED + | :DAMAGED + | :END_USER_REQUEST + | :ISSUER_REQUEST + | :NOT_ACTIVE + | :SUSPICIOUS_ACTIVITY + | :INTERNAL_REVIEW + | :EXPIRED + | :UNDELIVERABLE + | :OTHER + + module Substatus + extend Lithic::Internal::Type::Enum + + LOST: :LOST + COMPROMISED: :COMPROMISED + DAMAGED: :DAMAGED + END_USER_REQUEST: :END_USER_REQUEST + ISSUER_REQUEST: :ISSUER_REQUEST + NOT_ACTIVE: :NOT_ACTIVE + SUSPICIOUS_ACTIVITY: :SUSPICIOUS_ACTIVITY + INTERNAL_REVIEW: :INTERNAL_REVIEW + EXPIRED: :EXPIRED + UNDELIVERABLE: :UNDELIVERABLE + OTHER: :OTHER + + def self?.values: -> ::Array[Lithic::Models::NonPCICard::substatus] + end end end end diff --git a/sig/lithic/models/payment_simulate_action_params.rbs b/sig/lithic/models/payment_simulate_action_params.rbs index 051d6e1e..479eb3df 100644 --- a/sig/lithic/models/payment_simulate_action_params.rbs +++ b/sig/lithic/models/payment_simulate_action_params.rbs @@ -44,6 +44,7 @@ module Lithic | :ACH_ORIGINATION_PROCESSED | :ACH_ORIGINATION_SETTLED | :ACH_RECEIPT_SETTLED + | :ACH_RECEIPT_RELEASED | :ACH_RETURN_INITIATED | :ACH_RETURN_PROCESSED | :ACH_RETURN_SETTLED @@ -56,6 +57,7 @@ module Lithic ACH_ORIGINATION_PROCESSED: :ACH_ORIGINATION_PROCESSED ACH_ORIGINATION_SETTLED: :ACH_ORIGINATION_SETTLED ACH_RECEIPT_SETTLED: :ACH_RECEIPT_SETTLED + ACH_RECEIPT_RELEASED: :ACH_RECEIPT_RELEASED ACH_RETURN_INITIATED: :ACH_RETURN_INITIATED ACH_RETURN_PROCESSED: :ACH_RETURN_PROCESSED ACH_RETURN_SETTLED: :ACH_RETURN_SETTLED diff --git a/sig/lithic/models/transaction.rbs b/sig/lithic/models/transaction.rbs index aec1cc15..67d577e4 100644 --- a/sig/lithic/models/transaction.rbs +++ b/sig/lithic/models/transaction.rbs @@ -363,18 +363,14 @@ module Lithic end type liability_shift = - :"3DS_AUTHENTICATED" - | :ACQUIRER_EXEMPTION - | :NONE - | :TOKEN_AUTHENTICATED + :"3DS_AUTHENTICATED" | :TOKEN_AUTHENTICATED | :NONE module LiabilityShift extend Lithic::Internal::Type::Enum LIABILITY_SHIFT_3DS_AUTHENTICATED: :"3DS_AUTHENTICATED" - ACQUIRER_EXEMPTION: :ACQUIRER_EXEMPTION - NONE: :NONE TOKEN_AUTHENTICATED: :TOKEN_AUTHENTICATED + NONE: :NONE def self?.values: -> ::Array[Lithic::Models::Transaction::CardholderAuthentication::liability_shift] end diff --git a/sig/lithic/resources/accounts.rbs b/sig/lithic/resources/accounts.rbs index 51492115..da34a111 100644 --- a/sig/lithic/resources/accounts.rbs +++ b/sig/lithic/resources/accounts.rbs @@ -8,10 +8,12 @@ module Lithic def update: ( String account_token, + ?comment: String, ?daily_spend_limit: Integer, ?lifetime_spend_limit: Integer, ?monthly_spend_limit: Integer, ?state: Lithic::Models::AccountUpdateParams::state, + ?substatus: Lithic::Models::AccountUpdateParams::substatus, ?verification_address: Lithic::AccountUpdateParams::VerificationAddress, ?request_options: Lithic::request_opts ) -> Lithic::Account diff --git a/sig/lithic/resources/cards.rbs b/sig/lithic/resources/cards.rbs index 15f0eb30..3618a045 100644 --- a/sig/lithic/resources/cards.rbs +++ b/sig/lithic/resources/cards.rbs @@ -19,7 +19,9 @@ module Lithic ?pin: String, ?product_id: String, ?replacement_account_token: String, + ?replacement_comment: String, ?replacement_for: String, + ?replacement_substatus: Lithic::Models::CardCreateParams::replacement_substatus, ?shipping_address: Lithic::ShippingAddress, ?shipping_method: Lithic::Models::CardCreateParams::shipping_method, ?spend_limit: Integer, @@ -35,13 +37,16 @@ module Lithic def update: ( String card_token, + ?comment: String, ?digital_card_art_token: String, ?memo: String, + ?network_program_token: String, ?pin: String, ?pin_status: Lithic::Models::CardUpdateParams::pin_status, ?spend_limit: Integer, ?spend_limit_duration: Lithic::Models::spend_limit_duration, ?state: Lithic::Models::CardUpdateParams::state, + ?substatus: Lithic::Models::CardUpdateParams::substatus, ?request_options: Lithic::request_opts ) -> Lithic::Card diff --git a/sig/lithic/resources/management_operations.rbs b/sig/lithic/resources/management_operations.rbs index 93429f0a..e1e0d5e8 100644 --- a/sig/lithic/resources/management_operations.rbs +++ b/sig/lithic/resources/management_operations.rbs @@ -10,6 +10,7 @@ module Lithic financial_account_token: String, ?token: String, ?memo: String, + ?on_closed_account: Lithic::Models::ManagementOperationCreateParams::on_closed_account, ?subtype: String, ?user_defined_id: String, ?request_options: Lithic::request_opts diff --git a/sig/lithic/resources/network_programs.rbs b/sig/lithic/resources/network_programs.rbs new file mode 100644 index 00000000..9f8cd51d --- /dev/null +++ b/sig/lithic/resources/network_programs.rbs @@ -0,0 +1,19 @@ +module Lithic + module Resources + class NetworkPrograms + def retrieve: ( + String network_program_token, + ?request_options: Lithic::request_opts + ) -> Lithic::NetworkProgram + + def list: ( + ?begin_: Time, + ?end_: Time, + ?page_size: Integer, + ?request_options: Lithic::request_opts + ) -> Lithic::Internal::SinglePage[Lithic::NetworkProgram] + + def initialize: (client: Lithic::Client) -> void + end + end +end diff --git a/test/lithic/resources/accounts_test.rb b/test/lithic/resources/accounts_test.rb index 48889f84..0becca4d 100644 --- a/test/lithic/resources/accounts_test.rb +++ b/test/lithic/resources/accounts_test.rb @@ -19,6 +19,8 @@ def test_retrieve account_holder: Lithic::Account::AccountHolder | nil, auth_rule_tokens: ^(Lithic::Internal::Type::ArrayOf[String]) | nil, cardholder_currency: String | nil, + comment: String | nil, + substatus: Lithic::Account::Substatus | nil, verification_address: Lithic::Account::VerificationAddress | nil } end @@ -42,6 +44,8 @@ def test_update account_holder: Lithic::Account::AccountHolder | nil, auth_rule_tokens: ^(Lithic::Internal::Type::ArrayOf[String]) | nil, cardholder_currency: String | nil, + comment: String | nil, + substatus: Lithic::Account::Substatus | nil, verification_address: Lithic::Account::VerificationAddress | nil } end @@ -70,6 +74,8 @@ def test_list account_holder: Lithic::Account::AccountHolder | nil, auth_rule_tokens: ^(Lithic::Internal::Type::ArrayOf[String]) | nil, cardholder_currency: String | nil, + comment: String | nil, + substatus: Lithic::Account::Substatus | nil, verification_address: Lithic::Account::VerificationAddress | nil } end diff --git a/test/lithic/resources/card_programs_test.rb b/test/lithic/resources/card_programs_test.rb index f39217e2..7037b034 100644 --- a/test/lithic/resources/card_programs_test.rb +++ b/test/lithic/resources/card_programs_test.rb @@ -17,6 +17,7 @@ def test_retrieve 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 } @@ -44,6 +45,7 @@ def test_list 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_test.rb b/test/lithic/resources/cards_test.rb index f90916fe..c9ca9fa0 100644 --- a/test/lithic/resources/cards_test.rb +++ b/test/lithic/resources/cards_test.rb @@ -56,14 +56,17 @@ def test_list type: Lithic::NonPCICard::Type, auth_rule_tokens: ^(Lithic::Internal::Type::ArrayOf[String]) | nil, cardholder_currency: String | nil, + comment: String | nil, digital_card_art_token: String | nil, exp_month: String | nil, exp_year: String | nil, hostname: String | nil, memo: String | nil, + network_program_token: String | nil, pending_commands: ^(Lithic::Internal::Type::ArrayOf[String]) | nil, product_id: String | nil, - replacement_for: String | nil + replacement_for: String | nil, + substatus: Lithic::NonPCICard::Substatus | nil } end end diff --git a/test/lithic/resources/management_operations_test.rb b/test/lithic/resources/management_operations_test.rb index 95de164f..4b57d314 100644 --- a/test/lithic/resources/management_operations_test.rb +++ b/test/lithic/resources/management_operations_test.rb @@ -33,6 +33,7 @@ def test_create_required_params status: Lithic::ManagementOperationTransaction::Status, transaction_series: Lithic::ManagementOperationTransaction::TransactionSeries | nil, updated: Time, + external_resource: Lithic::ExternalResource | nil, user_defined_id: String | nil } end @@ -60,6 +61,7 @@ def test_retrieve status: Lithic::ManagementOperationTransaction::Status, transaction_series: Lithic::ManagementOperationTransaction::TransactionSeries | nil, updated: Time, + external_resource: Lithic::ExternalResource | nil, user_defined_id: String | nil } end @@ -94,6 +96,7 @@ def test_list status: Lithic::ManagementOperationTransaction::Status, transaction_series: Lithic::ManagementOperationTransaction::TransactionSeries | nil, updated: Time, + external_resource: Lithic::ExternalResource | nil, user_defined_id: String | nil } end @@ -125,6 +128,7 @@ def test_reverse_required_params status: Lithic::ManagementOperationTransaction::Status, transaction_series: Lithic::ManagementOperationTransaction::TransactionSeries | nil, updated: Time, + external_resource: Lithic::ExternalResource | nil, user_defined_id: String | nil } end diff --git a/test/lithic/resources/network_programs_test.rb b/test/lithic/resources/network_programs_test.rb new file mode 100644 index 00000000..f076d4ed --- /dev/null +++ b/test/lithic/resources/network_programs_test.rb @@ -0,0 +1,46 @@ +# frozen_string_literal: true + +require_relative "../test_helper" + +class Lithic::Test::Resources::NetworkProgramsTest < Lithic::Test::ResourceTest + def test_retrieve + response = @lithic.network_programs.retrieve("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e") + + assert_pattern do + response => Lithic::NetworkProgram + end + + assert_pattern do + response => { + token: String, + default_product_code: String, + name: String, + registered_program_identification_number: String + } + end + end + + def test_list + response = @lithic.network_programs.list + + assert_pattern do + response => Lithic::Internal::SinglePage + end + + row = response.to_enum.first + return if row.nil? + + assert_pattern do + row => Lithic::NetworkProgram + end + + assert_pattern do + row => { + token: String, + default_product_code: String, + name: String, + registered_program_identification_number: String + } + end + end +end From dbc50ce552cf1b7c38cc466bfbbeb3a5a1ef8a24 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Tue, 15 Jul 2025 18:40:26 +0000 Subject: [PATCH 5/5] release: 0.1.0-alpha.40 --- .release-please-manifest.json | 2 +- CHANGELOG.md | 10 ++++++++++ Gemfile.lock | 2 +- README.md | 2 +- lib/lithic/version.rb | 2 +- 5 files changed, 14 insertions(+), 4 deletions(-) diff --git a/.release-please-manifest.json b/.release-please-manifest.json index 0f02ea1c..db3930fd 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,3 +1,3 @@ { - ".": "0.1.0-alpha.39" + ".": "0.1.0-alpha.40" } \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index 64b735c1..b809a1bf 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,15 @@ # Changelog +## 0.1.0-alpha.40 (2025-07-15) + +Full Changelog: [v0.1.0-alpha.39...v0.1.0-alpha.40](https://github.com/lithic-com/lithic-ruby/compare/v0.1.0-alpha.39...v0.1.0-alpha.40) + +### Features + +* **api:** adds Network Programs and Account/Card Sub-statuses ([b5e5077](https://github.com/lithic-com/lithic-ruby/commit/b5e5077794684767a425d31f746cee2ed69d8ba7)) +* **api:** api update ([b8de03e](https://github.com/lithic-com/lithic-ruby/commit/b8de03e418647489f4e34b4a55ca4256f34c52fe)) +* **api:** api update ([72d4aab](https://github.com/lithic-com/lithic-ruby/commit/72d4aabb27fe144144c10899e64c863785d6595b)) + ## 0.1.0-alpha.39 (2025-07-03) Full Changelog: [v0.1.0-alpha.38...v0.1.0-alpha.39](https://github.com/lithic-com/lithic-ruby/compare/v0.1.0-alpha.38...v0.1.0-alpha.39) diff --git a/Gemfile.lock b/Gemfile.lock index 8b77322e..4e0fd66c 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -11,7 +11,7 @@ GIT PATH remote: . specs: - lithic (0.1.0.pre.alpha.39) + lithic (0.1.0.pre.alpha.40) connection_pool GEM diff --git a/README.md b/README.md index 054ca55a..2f2c3f7c 100644 --- a/README.md +++ b/README.md @@ -15,7 +15,7 @@ To use this gem, install via Bundler by adding the following to your application ```ruby -gem "lithic", "~> 0.1.0.pre.alpha.39" +gem "lithic", "~> 0.1.0.pre.alpha.40" ``` diff --git a/lib/lithic/version.rb b/lib/lithic/version.rb index 7b28be27..db2c2090 100644 --- a/lib/lithic/version.rb +++ b/lib/lithic/version.rb @@ -1,5 +1,5 @@ # frozen_string_literal: true module Lithic - VERSION = "0.1.0.pre.alpha.39" + VERSION = "0.1.0.pre.alpha.40" end