diff --git a/.release-please-manifest.json b/.release-please-manifest.json index fb4022f8..828fffd3 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,3 +1,3 @@ { - ".": "1.117.0" + ".": "1.118.0" } \ No newline at end of file diff --git a/.stats.yml b/.stats.yml index 09fe707d..b52e298f 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ configured_endpoints: 228 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/increase%2Fincrease-4ecdf6d7ab918ac6bedd10130962aa92a2b10e59ca7a98849bcbb72878bffc92.yml -openapi_spec_hash: cefa36c80b576364e72406d7da8c4610 +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/increase%2Fincrease-4aa2f4a453e4fc5f0876f09919d76289bc530dcdd693e6d69db07980803aab6d.yml +openapi_spec_hash: 32bfd518611484cb0777810dd934f1fa config_hash: eb2035151c7b49c2f12caf55469b8f9a diff --git a/CHANGELOG.md b/CHANGELOG.md index 1e2d43a7..b0dc9ca6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,13 @@ # Changelog +## 1.118.0 (2025-10-28) + +Full Changelog: [v1.117.0...v1.118.0](https://github.com/Increase/increase-ruby/compare/v1.117.0...v1.118.0) + +### Features + +* **api:** api update ([97ce486](https://github.com/Increase/increase-ruby/commit/97ce486e58ed82b1066de55fd0fa9668bbe3bd55)) + ## 1.117.0 (2025-10-27) Full Changelog: [v1.116.0...v1.117.0](https://github.com/Increase/increase-ruby/compare/v1.116.0...v1.117.0) diff --git a/Gemfile.lock b/Gemfile.lock index 6104e7a6..f6bba973 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -11,7 +11,7 @@ GIT PATH remote: . specs: - increase (1.117.0) + increase (1.118.0) connection_pool GEM diff --git a/README.md b/README.md index b91a178b..d58763f8 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 "increase", "~> 1.117.0" +gem "increase", "~> 1.118.0" ``` diff --git a/lib/increase/models/card_payment.rb b/lib/increase/models/card_payment.rb index e7fc974e..a30c96f4 100644 --- a/lib/increase/models/card_payment.rb +++ b/lib/increase/models/card_payment.rb @@ -121,6 +121,14 @@ class Element < Increase::Internal::Type::BaseModel # @return [Increase::Models::CardPayment::Element::CardDecline, nil] required :card_decline, -> { Increase::CardPayment::Element::CardDecline }, nil?: true + # @!attribute card_financial + # A Card Financial object. This field will be present in the JSON response if and + # only if `category` is equal to `card_financial`. Card Financials are temporary + # holds placed on a customers funds with the intent to later clear a transaction. + # + # @return [Increase::Models::CardPayment::Element::CardFinancial, nil] + required :card_financial, -> { Increase::CardPayment::Element::CardFinancial }, nil?: true + # @!attribute card_fuel_confirmation # A Card Fuel Confirmation object. This field will be present in the JSON response # if and only if `category` is equal to `card_fuel_confirmation`. Card Fuel @@ -200,7 +208,7 @@ class Element < Increase::Internal::Type::BaseModel # @return [Object, nil] required :other, Increase::Internal::Type::Unknown, nil?: true - # @!method initialize(card_authentication:, card_authorization:, card_authorization_expiration:, card_decline:, card_fuel_confirmation:, card_increment:, card_refund:, card_reversal:, card_settlement:, card_validation:, category:, created_at:, other:) + # @!method initialize(card_authentication:, card_authorization:, card_authorization_expiration:, card_decline:, card_financial:, card_fuel_confirmation:, card_increment:, card_refund:, card_reversal:, card_settlement:, card_validation:, category:, created_at:, other:) # Some parameter documentations has been truncated, see # {Increase::Models::CardPayment::Element} for more details. # @@ -212,6 +220,8 @@ class Element < Increase::Internal::Type::BaseModel # # @param card_decline [Increase::Models::CardPayment::Element::CardDecline, nil] A Card Decline object. This field will be present in the JSON response if and on # + # @param card_financial [Increase::Models::CardPayment::Element::CardFinancial, nil] A Card Financial object. This field will be present in the JSON response if and + # # @param card_fuel_confirmation [Increase::Models::CardPayment::Element::CardFuelConfirmation, nil] A Card Fuel Confirmation object. This field will be present in the JSON response # # @param card_increment [Increase::Models::CardPayment::Element::CardIncrement, nil] A Card Increment object. This field will be present in the JSON response if and @@ -2091,9 +2101,1270 @@ class CardDecline < Increase::Internal::Type::BaseModel # The processing category describes the intent behind the authorization, such as # whether it was used for bill payments or an automatic fuel dispenser. # - # @return [Symbol, Increase::Models::CardPayment::Element::CardDecline::ProcessingCategory] + # @return [Symbol, Increase::Models::CardPayment::Element::CardDecline::ProcessingCategory] + required :processing_category, + enum: -> { Increase::CardPayment::Element::CardDecline::ProcessingCategory } + + # @!attribute real_time_decision_id + # The identifier of the Real-Time Decision sent to approve or decline this + # transaction. + # + # @return [String, nil] + required :real_time_decision_id, String, nil?: true + + # @!attribute real_time_decision_reason + # This is present if a specific decline reason was given in the real-time + # decision. + # + # @return [Symbol, Increase::Models::CardPayment::Element::CardDecline::RealTimeDecisionReason, nil] + required :real_time_decision_reason, + enum: -> { Increase::CardPayment::Element::CardDecline::RealTimeDecisionReason }, + nil?: true + + # @!attribute reason + # Why the transaction was declined. + # + # @return [Symbol, Increase::Models::CardPayment::Element::CardDecline::Reason] + required :reason, enum: -> { Increase::CardPayment::Element::CardDecline::Reason } + + # @!attribute terminal_id + # The terminal identifier (commonly abbreviated as TID) of the terminal the card + # is transacting with. + # + # @return [String, nil] + required :terminal_id, String, nil?: true + + # @!attribute verification + # Fields related to verification of cardholder-provided values. + # + # @return [Increase::Models::CardPayment::Element::CardDecline::Verification] + required :verification, -> { Increase::CardPayment::Element::CardDecline::Verification } + + # @!method initialize(id:, actioner:, additional_amounts:, amount:, card_payment_id:, currency:, declined_transaction_id:, digital_wallet_token_id:, direction:, incremented_card_authorization_id:, merchant_acceptor_id:, merchant_category_code:, merchant_city:, merchant_country:, merchant_descriptor:, merchant_postal_code:, merchant_state:, network_details:, network_identifiers:, network_risk_score:, physical_card_id:, presentment_amount:, presentment_currency:, processing_category:, real_time_decision_id:, real_time_decision_reason:, reason:, terminal_id:, verification:) + # Some parameter documentations has been truncated, see + # {Increase::Models::CardPayment::Element::CardDecline} for more details. + # + # A Card Decline object. This field will be present in the JSON response if and + # only if `category` is equal to `card_decline`. + # + # @param id [String] The Card Decline identifier. + # + # @param actioner [Symbol, Increase::Models::CardPayment::Element::CardDecline::Actioner] Whether this authorization was approved by Increase, the card network through st + # + # @param additional_amounts [Increase::Models::CardPayment::Element::CardDecline::AdditionalAmounts] Additional amounts associated with the card authorization, such as ATM surcharge + # + # @param amount [Integer] The declined amount in the minor unit of the destination account currency. For d + # + # @param card_payment_id [String] The ID of the Card Payment this transaction belongs to. + # + # @param currency [Symbol, Increase::Models::CardPayment::Element::CardDecline::Currency] The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the destination + # + # @param declined_transaction_id [String] The identifier of the declined transaction created for this Card Decline. + # + # @param digital_wallet_token_id [String, nil] If the authorization was made via a Digital Wallet Token (such as an Apple Pay p + # + # @param direction [Symbol, Increase::Models::CardPayment::Element::CardDecline::Direction] The direction describes the direction the funds will move, either from the cardh + # + # @param incremented_card_authorization_id [String, nil] The identifier of the card authorization this request attempted to incrementally + # + # @param merchant_acceptor_id [String] The merchant identifier (commonly abbreviated as MID) of the merchant the card i + # + # @param merchant_category_code [String] The Merchant Category Code (commonly abbreviated as MCC) of the merchant the car + # + # @param merchant_city [String, nil] The city the merchant resides in. + # + # @param merchant_country [String] The country the merchant resides in. + # + # @param merchant_descriptor [String] The merchant descriptor of the merchant the card is transacting with. + # + # @param merchant_postal_code [String, nil] The merchant's postal code. For US merchants this is either a 5-digit or 9-digit + # + # @param merchant_state [String, nil] The state the merchant resides in. + # + # @param network_details [Increase::Models::CardPayment::Element::CardDecline::NetworkDetails] Fields specific to the `network`. + # + # @param network_identifiers [Increase::Models::CardPayment::Element::CardDecline::NetworkIdentifiers] Network-specific identifiers for a specific request or transaction. + # + # @param network_risk_score [Integer, nil] The risk score generated by the card network. For Visa this is the Visa Advanced + # + # @param physical_card_id [String, nil] If the authorization was made in-person with a physical card, the Physical Card + # + # @param presentment_amount [Integer] The declined amount in the minor unit of the transaction's presentment currency. + # + # @param presentment_currency [String] The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the transaction' + # + # @param processing_category [Symbol, Increase::Models::CardPayment::Element::CardDecline::ProcessingCategory] The processing category describes the intent behind the authorization, such as w + # + # @param real_time_decision_id [String, nil] The identifier of the Real-Time Decision sent to approve or decline this transac + # + # @param real_time_decision_reason [Symbol, Increase::Models::CardPayment::Element::CardDecline::RealTimeDecisionReason, nil] This is present if a specific decline reason was given in the real-time decision + # + # @param reason [Symbol, Increase::Models::CardPayment::Element::CardDecline::Reason] Why the transaction was declined. + # + # @param terminal_id [String, nil] The terminal identifier (commonly abbreviated as TID) of the terminal the card i + # + # @param verification [Increase::Models::CardPayment::Element::CardDecline::Verification] Fields related to verification of cardholder-provided values. + + # Whether this authorization was approved by Increase, the card network through + # stand-in processing, or the user through a real-time decision. + # + # @see Increase::Models::CardPayment::Element::CardDecline#actioner + module Actioner + extend Increase::Internal::Type::Enum + + # This object was actioned by the user through a real-time decision. + USER = :user + + # This object was actioned by Increase without user intervention. + INCREASE = :increase + + # This object was actioned by the network, through stand-in processing. + NETWORK = :network + + # @!method self.values + # @return [Array] + end + + # @see Increase::Models::CardPayment::Element::CardDecline#additional_amounts + class AdditionalAmounts < Increase::Internal::Type::BaseModel + # @!attribute clinic + # The part of this transaction amount that was for clinic-related services. + # + # @return [Increase::Models::CardPayment::Element::CardDecline::AdditionalAmounts::Clinic, nil] + required :clinic, + -> { Increase::CardPayment::Element::CardDecline::AdditionalAmounts::Clinic }, + nil?: true + + # @!attribute dental + # The part of this transaction amount that was for dental-related services. + # + # @return [Increase::Models::CardPayment::Element::CardDecline::AdditionalAmounts::Dental, nil] + required :dental, + -> { Increase::CardPayment::Element::CardDecline::AdditionalAmounts::Dental }, + nil?: true + + # @!attribute original + # The original pre-authorized amount. + # + # @return [Increase::Models::CardPayment::Element::CardDecline::AdditionalAmounts::Original, nil] + required :original, + -> { Increase::CardPayment::Element::CardDecline::AdditionalAmounts::Original }, + nil?: true + + # @!attribute prescription + # The part of this transaction amount that was for healthcare prescriptions. + # + # @return [Increase::Models::CardPayment::Element::CardDecline::AdditionalAmounts::Prescription, nil] + required :prescription, + -> { Increase::CardPayment::Element::CardDecline::AdditionalAmounts::Prescription }, + nil?: true + + # @!attribute surcharge + # The surcharge amount charged for this transaction by the merchant. + # + # @return [Increase::Models::CardPayment::Element::CardDecline::AdditionalAmounts::Surcharge, nil] + required :surcharge, + -> { Increase::CardPayment::Element::CardDecline::AdditionalAmounts::Surcharge }, + nil?: true + + # @!attribute total_cumulative + # The total amount of a series of incremental authorizations, optionally provided. + # + # @return [Increase::Models::CardPayment::Element::CardDecline::AdditionalAmounts::TotalCumulative, nil] + required :total_cumulative, + -> { Increase::CardPayment::Element::CardDecline::AdditionalAmounts::TotalCumulative }, + nil?: true + + # @!attribute total_healthcare + # The total amount of healthcare-related additional amounts. + # + # @return [Increase::Models::CardPayment::Element::CardDecline::AdditionalAmounts::TotalHealthcare, nil] + required :total_healthcare, + -> { Increase::CardPayment::Element::CardDecline::AdditionalAmounts::TotalHealthcare }, + nil?: true + + # @!attribute transit + # The part of this transaction amount that was for transit-related services. + # + # @return [Increase::Models::CardPayment::Element::CardDecline::AdditionalAmounts::Transit, nil] + required :transit, + -> { Increase::CardPayment::Element::CardDecline::AdditionalAmounts::Transit }, + nil?: true + + # @!attribute unknown + # An unknown additional amount. + # + # @return [Increase::Models::CardPayment::Element::CardDecline::AdditionalAmounts::Unknown, nil] + required :unknown, + -> { Increase::CardPayment::Element::CardDecline::AdditionalAmounts::Unknown }, + nil?: true + + # @!attribute vision + # The part of this transaction amount that was for vision-related services. + # + # @return [Increase::Models::CardPayment::Element::CardDecline::AdditionalAmounts::Vision, nil] + required :vision, + -> { Increase::CardPayment::Element::CardDecline::AdditionalAmounts::Vision }, + nil?: true + + # @!method initialize(clinic:, dental:, original:, prescription:, surcharge:, total_cumulative:, total_healthcare:, transit:, unknown:, vision:) + # Some parameter documentations has been truncated, see + # {Increase::Models::CardPayment::Element::CardDecline::AdditionalAmounts} for + # more details. + # + # Additional amounts associated with the card authorization, such as ATM + # surcharges fees. These are usually a subset of the `amount` field and are used + # to provide more detailed information about the transaction. + # + # @param clinic [Increase::Models::CardPayment::Element::CardDecline::AdditionalAmounts::Clinic, nil] The part of this transaction amount that was for clinic-related services. + # + # @param dental [Increase::Models::CardPayment::Element::CardDecline::AdditionalAmounts::Dental, nil] The part of this transaction amount that was for dental-related services. + # + # @param original [Increase::Models::CardPayment::Element::CardDecline::AdditionalAmounts::Original, nil] The original pre-authorized amount. + # + # @param prescription [Increase::Models::CardPayment::Element::CardDecline::AdditionalAmounts::Prescription, nil] The part of this transaction amount that was for healthcare prescriptions. + # + # @param surcharge [Increase::Models::CardPayment::Element::CardDecline::AdditionalAmounts::Surcharge, nil] The surcharge amount charged for this transaction by the merchant. + # + # @param total_cumulative [Increase::Models::CardPayment::Element::CardDecline::AdditionalAmounts::TotalCumulative, nil] The total amount of a series of incremental authorizations, optionally provided. + # + # @param total_healthcare [Increase::Models::CardPayment::Element::CardDecline::AdditionalAmounts::TotalHealthcare, nil] The total amount of healthcare-related additional amounts. + # + # @param transit [Increase::Models::CardPayment::Element::CardDecline::AdditionalAmounts::Transit, nil] The part of this transaction amount that was for transit-related services. + # + # @param unknown [Increase::Models::CardPayment::Element::CardDecline::AdditionalAmounts::Unknown, nil] An unknown additional amount. + # + # @param vision [Increase::Models::CardPayment::Element::CardDecline::AdditionalAmounts::Vision, nil] The part of this transaction amount that was for vision-related services. + + # @see Increase::Models::CardPayment::Element::CardDecline::AdditionalAmounts#clinic + class Clinic < Increase::Internal::Type::BaseModel + # @!attribute amount + # The amount in minor units of the `currency` field. The amount is positive if it + # is added to the amount (such as an ATM surcharge fee) and negative if it is + # subtracted from the amount (such as a discount). + # + # @return [Integer] + required :amount, Integer + + # @!attribute currency + # The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the additional + # amount's currency. + # + # @return [String] + required :currency, String + + # @!method initialize(amount:, currency:) + # Some parameter documentations has been truncated, see + # {Increase::Models::CardPayment::Element::CardDecline::AdditionalAmounts::Clinic} + # for more details. + # + # The part of this transaction amount that was for clinic-related services. + # + # @param amount [Integer] The amount in minor units of the `currency` field. The amount is positive if it + # + # @param currency [String] The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the additional a + end + + # @see Increase::Models::CardPayment::Element::CardDecline::AdditionalAmounts#dental + class Dental < Increase::Internal::Type::BaseModel + # @!attribute amount + # The amount in minor units of the `currency` field. The amount is positive if it + # is added to the amount (such as an ATM surcharge fee) and negative if it is + # subtracted from the amount (such as a discount). + # + # @return [Integer] + required :amount, Integer + + # @!attribute currency + # The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the additional + # amount's currency. + # + # @return [String] + required :currency, String + + # @!method initialize(amount:, currency:) + # Some parameter documentations has been truncated, see + # {Increase::Models::CardPayment::Element::CardDecline::AdditionalAmounts::Dental} + # for more details. + # + # The part of this transaction amount that was for dental-related services. + # + # @param amount [Integer] The amount in minor units of the `currency` field. The amount is positive if it + # + # @param currency [String] The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the additional a + end + + # @see Increase::Models::CardPayment::Element::CardDecline::AdditionalAmounts#original + class Original < Increase::Internal::Type::BaseModel + # @!attribute amount + # The amount in minor units of the `currency` field. The amount is positive if it + # is added to the amount (such as an ATM surcharge fee) and negative if it is + # subtracted from the amount (such as a discount). + # + # @return [Integer] + required :amount, Integer + + # @!attribute currency + # The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the additional + # amount's currency. + # + # @return [String] + required :currency, String + + # @!method initialize(amount:, currency:) + # Some parameter documentations has been truncated, see + # {Increase::Models::CardPayment::Element::CardDecline::AdditionalAmounts::Original} + # for more details. + # + # The original pre-authorized amount. + # + # @param amount [Integer] The amount in minor units of the `currency` field. The amount is positive if it + # + # @param currency [String] The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the additional a + end + + # @see Increase::Models::CardPayment::Element::CardDecline::AdditionalAmounts#prescription + class Prescription < Increase::Internal::Type::BaseModel + # @!attribute amount + # The amount in minor units of the `currency` field. The amount is positive if it + # is added to the amount (such as an ATM surcharge fee) and negative if it is + # subtracted from the amount (such as a discount). + # + # @return [Integer] + required :amount, Integer + + # @!attribute currency + # The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the additional + # amount's currency. + # + # @return [String] + required :currency, String + + # @!method initialize(amount:, currency:) + # Some parameter documentations has been truncated, see + # {Increase::Models::CardPayment::Element::CardDecline::AdditionalAmounts::Prescription} + # for more details. + # + # The part of this transaction amount that was for healthcare prescriptions. + # + # @param amount [Integer] The amount in minor units of the `currency` field. The amount is positive if it + # + # @param currency [String] The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the additional a + end + + # @see Increase::Models::CardPayment::Element::CardDecline::AdditionalAmounts#surcharge + class Surcharge < Increase::Internal::Type::BaseModel + # @!attribute amount + # The amount in minor units of the `currency` field. The amount is positive if it + # is added to the amount (such as an ATM surcharge fee) and negative if it is + # subtracted from the amount (such as a discount). + # + # @return [Integer] + required :amount, Integer + + # @!attribute currency + # The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the additional + # amount's currency. + # + # @return [String] + required :currency, String + + # @!method initialize(amount:, currency:) + # Some parameter documentations has been truncated, see + # {Increase::Models::CardPayment::Element::CardDecline::AdditionalAmounts::Surcharge} + # for more details. + # + # The surcharge amount charged for this transaction by the merchant. + # + # @param amount [Integer] The amount in minor units of the `currency` field. The amount is positive if it + # + # @param currency [String] The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the additional a + end + + # @see Increase::Models::CardPayment::Element::CardDecline::AdditionalAmounts#total_cumulative + class TotalCumulative < Increase::Internal::Type::BaseModel + # @!attribute amount + # The amount in minor units of the `currency` field. The amount is positive if it + # is added to the amount (such as an ATM surcharge fee) and negative if it is + # subtracted from the amount (such as a discount). + # + # @return [Integer] + required :amount, Integer + + # @!attribute currency + # The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the additional + # amount's currency. + # + # @return [String] + required :currency, String + + # @!method initialize(amount:, currency:) + # Some parameter documentations has been truncated, see + # {Increase::Models::CardPayment::Element::CardDecline::AdditionalAmounts::TotalCumulative} + # for more details. + # + # The total amount of a series of incremental authorizations, optionally provided. + # + # @param amount [Integer] The amount in minor units of the `currency` field. The amount is positive if it + # + # @param currency [String] The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the additional a + end + + # @see Increase::Models::CardPayment::Element::CardDecline::AdditionalAmounts#total_healthcare + class TotalHealthcare < Increase::Internal::Type::BaseModel + # @!attribute amount + # The amount in minor units of the `currency` field. The amount is positive if it + # is added to the amount (such as an ATM surcharge fee) and negative if it is + # subtracted from the amount (such as a discount). + # + # @return [Integer] + required :amount, Integer + + # @!attribute currency + # The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the additional + # amount's currency. + # + # @return [String] + required :currency, String + + # @!method initialize(amount:, currency:) + # Some parameter documentations has been truncated, see + # {Increase::Models::CardPayment::Element::CardDecline::AdditionalAmounts::TotalHealthcare} + # for more details. + # + # The total amount of healthcare-related additional amounts. + # + # @param amount [Integer] The amount in minor units of the `currency` field. The amount is positive if it + # + # @param currency [String] The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the additional a + end + + # @see Increase::Models::CardPayment::Element::CardDecline::AdditionalAmounts#transit + class Transit < Increase::Internal::Type::BaseModel + # @!attribute amount + # The amount in minor units of the `currency` field. The amount is positive if it + # is added to the amount (such as an ATM surcharge fee) and negative if it is + # subtracted from the amount (such as a discount). + # + # @return [Integer] + required :amount, Integer + + # @!attribute currency + # The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the additional + # amount's currency. + # + # @return [String] + required :currency, String + + # @!method initialize(amount:, currency:) + # Some parameter documentations has been truncated, see + # {Increase::Models::CardPayment::Element::CardDecline::AdditionalAmounts::Transit} + # for more details. + # + # The part of this transaction amount that was for transit-related services. + # + # @param amount [Integer] The amount in minor units of the `currency` field. The amount is positive if it + # + # @param currency [String] The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the additional a + end + + # @see Increase::Models::CardPayment::Element::CardDecline::AdditionalAmounts#unknown + class Unknown < Increase::Internal::Type::BaseModel + # @!attribute amount + # The amount in minor units of the `currency` field. The amount is positive if it + # is added to the amount (such as an ATM surcharge fee) and negative if it is + # subtracted from the amount (such as a discount). + # + # @return [Integer] + required :amount, Integer + + # @!attribute currency + # The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the additional + # amount's currency. + # + # @return [String] + required :currency, String + + # @!method initialize(amount:, currency:) + # Some parameter documentations has been truncated, see + # {Increase::Models::CardPayment::Element::CardDecline::AdditionalAmounts::Unknown} + # for more details. + # + # An unknown additional amount. + # + # @param amount [Integer] The amount in minor units of the `currency` field. The amount is positive if it + # + # @param currency [String] The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the additional a + end + + # @see Increase::Models::CardPayment::Element::CardDecline::AdditionalAmounts#vision + class Vision < Increase::Internal::Type::BaseModel + # @!attribute amount + # The amount in minor units of the `currency` field. The amount is positive if it + # is added to the amount (such as an ATM surcharge fee) and negative if it is + # subtracted from the amount (such as a discount). + # + # @return [Integer] + required :amount, Integer + + # @!attribute currency + # The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the additional + # amount's currency. + # + # @return [String] + required :currency, String + + # @!method initialize(amount:, currency:) + # Some parameter documentations has been truncated, see + # {Increase::Models::CardPayment::Element::CardDecline::AdditionalAmounts::Vision} + # for more details. + # + # The part of this transaction amount that was for vision-related services. + # + # @param amount [Integer] The amount in minor units of the `currency` field. The amount is positive if it + # + # @param currency [String] The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the additional a + end + end + + # The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the destination + # account currency. + # + # @see Increase::Models::CardPayment::Element::CardDecline#currency + module Currency + extend Increase::Internal::Type::Enum + + # Canadian Dollar (CAD) + CAD = :CAD + + # Swiss Franc (CHF) + CHF = :CHF + + # Euro (EUR) + EUR = :EUR + + # British Pound (GBP) + GBP = :GBP + + # Japanese Yen (JPY) + JPY = :JPY + + # US Dollar (USD) + USD = :USD + + # @!method self.values + # @return [Array] + end + + # The direction describes the direction the funds will move, either from the + # cardholder to the merchant or from the merchant to the cardholder. + # + # @see Increase::Models::CardPayment::Element::CardDecline#direction + module Direction + extend Increase::Internal::Type::Enum + + # A regular card authorization where funds are debited from the cardholder. + SETTLEMENT = :settlement + + # A refund card authorization, sometimes referred to as a credit voucher authorization, where funds are credited to the cardholder. + REFUND = :refund + + # @!method self.values + # @return [Array] + end + + # @see Increase::Models::CardPayment::Element::CardDecline#network_details + class NetworkDetails < Increase::Internal::Type::BaseModel + # @!attribute category + # The payment network used to process this card authorization. + # + # @return [Symbol, Increase::Models::CardPayment::Element::CardDecline::NetworkDetails::Category] + required :category, enum: -> { Increase::CardPayment::Element::CardDecline::NetworkDetails::Category } + + # @!attribute pulse + # Fields specific to the `pulse` network. + # + # @return [Object, nil] + required :pulse, Increase::Internal::Type::Unknown, nil?: true + + # @!attribute visa + # Fields specific to the `visa` network. + # + # @return [Increase::Models::CardPayment::Element::CardDecline::NetworkDetails::Visa, nil] + required :visa, + -> { + Increase::CardPayment::Element::CardDecline::NetworkDetails::Visa + }, + nil?: true + + # @!method initialize(category:, pulse:, visa:) + # Fields specific to the `network`. + # + # @param category [Symbol, Increase::Models::CardPayment::Element::CardDecline::NetworkDetails::Category] The payment network used to process this card authorization. + # + # @param pulse [Object, nil] Fields specific to the `pulse` network. + # + # @param visa [Increase::Models::CardPayment::Element::CardDecline::NetworkDetails::Visa, nil] Fields specific to the `visa` network. + + # The payment network used to process this card authorization. + # + # @see Increase::Models::CardPayment::Element::CardDecline::NetworkDetails#category + module Category + extend Increase::Internal::Type::Enum + + # Visa + VISA = :visa + + # Pulse + PULSE = :pulse + + # @!method self.values + # @return [Array] + end + + # @see Increase::Models::CardPayment::Element::CardDecline::NetworkDetails#visa + class Visa < Increase::Internal::Type::BaseModel + # @!attribute electronic_commerce_indicator + # For electronic commerce transactions, this identifies the level of security used + # in obtaining the customer's payment credential. For mail or telephone order + # transactions, identifies the type of mail or telephone order. + # + # @return [Symbol, Increase::Models::CardPayment::Element::CardDecline::NetworkDetails::Visa::ElectronicCommerceIndicator, nil] + required :electronic_commerce_indicator, + enum: -> { + Increase::CardPayment::Element::CardDecline::NetworkDetails::Visa::ElectronicCommerceIndicator + }, + nil?: true + + # @!attribute point_of_service_entry_mode + # The method used to enter the cardholder's primary account number and card + # expiration date. + # + # @return [Symbol, Increase::Models::CardPayment::Element::CardDecline::NetworkDetails::Visa::PointOfServiceEntryMode, nil] + required :point_of_service_entry_mode, + enum: -> { + Increase::CardPayment::Element::CardDecline::NetworkDetails::Visa::PointOfServiceEntryMode + }, + nil?: true + + # @!attribute stand_in_processing_reason + # Only present when `actioner: network`. Describes why a card authorization was + # approved or declined by Visa through stand-in processing. + # + # @return [Symbol, Increase::Models::CardPayment::Element::CardDecline::NetworkDetails::Visa::StandInProcessingReason, nil] + required :stand_in_processing_reason, + enum: -> { + Increase::CardPayment::Element::CardDecline::NetworkDetails::Visa::StandInProcessingReason + }, + nil?: true + + # @!method initialize(electronic_commerce_indicator:, point_of_service_entry_mode:, stand_in_processing_reason:) + # Some parameter documentations has been truncated, see + # {Increase::Models::CardPayment::Element::CardDecline::NetworkDetails::Visa} for + # more details. + # + # Fields specific to the `visa` network. + # + # @param electronic_commerce_indicator [Symbol, Increase::Models::CardPayment::Element::CardDecline::NetworkDetails::Visa::ElectronicCommerceIndicator, nil] For electronic commerce transactions, this identifies the level of security used + # + # @param point_of_service_entry_mode [Symbol, Increase::Models::CardPayment::Element::CardDecline::NetworkDetails::Visa::PointOfServiceEntryMode, nil] The method used to enter the cardholder's primary account number and card expira + # + # @param stand_in_processing_reason [Symbol, Increase::Models::CardPayment::Element::CardDecline::NetworkDetails::Visa::StandInProcessingReason, nil] Only present when `actioner: network`. Describes why a card authorization was ap + + # For electronic commerce transactions, this identifies the level of security used + # in obtaining the customer's payment credential. For mail or telephone order + # transactions, identifies the type of mail or telephone order. + # + # @see Increase::Models::CardPayment::Element::CardDecline::NetworkDetails::Visa#electronic_commerce_indicator + module ElectronicCommerceIndicator + extend Increase::Internal::Type::Enum + + # Single transaction of a mail/phone order: Use to indicate that the transaction is a mail/phone order purchase, not a recurring transaction or installment payment. For domestic transactions in the US region, this value may also indicate one bill payment transaction in the card-present or card-absent environments. + MAIL_PHONE_ORDER = :mail_phone_order + + # Recurring transaction: Payment indicator used to indicate a recurring transaction that originates from an acquirer in the US region. + RECURRING = :recurring + + # Installment payment: Payment indicator used to indicate one purchase of goods or services that is billed to the account in multiple charges over a period of time agreed upon by the cardholder and merchant from transactions that originate from an acquirer in the US region. + INSTALLMENT = :installment + + # Unknown classification: other mail order: Use to indicate that the type of mail/telephone order is unknown. + UNKNOWN_MAIL_PHONE_ORDER = :unknown_mail_phone_order + + # Secure electronic commerce transaction: Use to indicate that the electronic commerce transaction has been authenticated using e.g., 3-D Secure + SECURE_ELECTRONIC_COMMERCE = :secure_electronic_commerce + + # Non-authenticated security transaction at a 3-D Secure-capable merchant, and merchant attempted to authenticate the cardholder using 3-D Secure: Use to identify an electronic commerce transaction where the merchant attempted to authenticate the cardholder using 3-D Secure, but was unable to complete the authentication because the issuer or cardholder does not participate in the 3-D Secure program. + NON_AUTHENTICATED_SECURITY_TRANSACTION_AT_3DS_CAPABLE_MERCHANT = + :non_authenticated_security_transaction_at_3ds_capable_merchant + + # Non-authenticated security transaction: Use to identify an electronic commerce transaction that uses data encryption for security however, cardholder authentication is not performed using 3-D Secure. + NON_AUTHENTICATED_SECURITY_TRANSACTION = :non_authenticated_security_transaction + + # Non-secure transaction: Use to identify an electronic commerce transaction that has no data protection. + NON_SECURE_TRANSACTION = :non_secure_transaction + + # @!method self.values + # @return [Array] + end + + # The method used to enter the cardholder's primary account number and card + # expiration date. + # + # @see Increase::Models::CardPayment::Element::CardDecline::NetworkDetails::Visa#point_of_service_entry_mode + module PointOfServiceEntryMode + extend Increase::Internal::Type::Enum + + # Unknown + UNKNOWN = :unknown + + # Manual key entry + MANUAL = :manual + + # Magnetic stripe read, without card verification value + MAGNETIC_STRIPE_NO_CVV = :magnetic_stripe_no_cvv + + # Optical code + OPTICAL_CODE = :optical_code + + # Contact chip card + INTEGRATED_CIRCUIT_CARD = :integrated_circuit_card + + # Contactless read of chip card + CONTACTLESS = :contactless + + # Transaction initiated using a credential that has previously been stored on file + CREDENTIAL_ON_FILE = :credential_on_file + + # Magnetic stripe read + MAGNETIC_STRIPE = :magnetic_stripe + + # Contactless read of magnetic stripe data + CONTACTLESS_MAGNETIC_STRIPE = :contactless_magnetic_stripe + + # Contact chip card, without card verification value + INTEGRATED_CIRCUIT_CARD_NO_CVV = :integrated_circuit_card_no_cvv + + # @!method self.values + # @return [Array] + end + + # Only present when `actioner: network`. Describes why a card authorization was + # approved or declined by Visa through stand-in processing. + # + # @see Increase::Models::CardPayment::Element::CardDecline::NetworkDetails::Visa#stand_in_processing_reason + module StandInProcessingReason + extend Increase::Internal::Type::Enum + + # Increase failed to process the authorization in a timely manner. + ISSUER_ERROR = :issuer_error + + # The physical card read had an invalid CVV, dCVV, or authorization request cryptogram. + INVALID_PHYSICAL_CARD = :invalid_physical_card + + # The 3DS cardholder authentication verification value was invalid. + INVALID_CARDHOLDER_AUTHENTICATION_VERIFICATION_VALUE = + :invalid_cardholder_authentication_verification_value + + # An internal Visa error occurred. Visa uses this reason code for certain expected occurrences as well, such as Application Transaction Counter (ATC) replays. + INTERNAL_VISA_ERROR = :internal_visa_error + + # The merchant has enabled Visa's Transaction Advisory Service and requires further authentication to perform the transaction. In practice this is often utilized at fuel pumps to tell the cardholder to see the cashier. + MERCHANT_TRANSACTION_ADVISORY_SERVICE_AUTHENTICATION_REQUIRED = + :merchant_transaction_advisory_service_authentication_required + + # The transaction was blocked by Visa's Payment Fraud Disruption service due to fraudulent Acquirer behavior, such as card testing. + PAYMENT_FRAUD_DISRUPTION_ACQUIRER_BLOCK = :payment_fraud_disruption_acquirer_block + + # An unspecific reason for stand-in processing. + OTHER = :other + + # @!method self.values + # @return [Array] + end + end + end + + # @see Increase::Models::CardPayment::Element::CardDecline#network_identifiers + class NetworkIdentifiers < Increase::Internal::Type::BaseModel + # @!attribute authorization_identification_response + # The randomly generated 6-character Authorization Identification Response code + # sent back to the acquirer in an approved response. + # + # @return [String, nil] + required :authorization_identification_response, String, nil?: true + + # @!attribute retrieval_reference_number + # A life-cycle identifier used across e.g., an authorization and a reversal. + # Expected to be unique per acquirer within a window of time. For some card + # networks the retrieval reference number includes the trace counter. + # + # @return [String, nil] + required :retrieval_reference_number, String, nil?: true + + # @!attribute trace_number + # A counter used to verify an individual authorization. Expected to be unique per + # acquirer within a window of time. + # + # @return [String, nil] + required :trace_number, String, nil?: true + + # @!attribute transaction_id + # A globally unique transaction identifier provided by the card network, used + # across multiple life-cycle requests. + # + # @return [String, nil] + required :transaction_id, String, nil?: true + + # @!method initialize(authorization_identification_response:, retrieval_reference_number:, trace_number:, transaction_id:) + # Some parameter documentations has been truncated, see + # {Increase::Models::CardPayment::Element::CardDecline::NetworkIdentifiers} for + # more details. + # + # Network-specific identifiers for a specific request or transaction. + # + # @param authorization_identification_response [String, nil] The randomly generated 6-character Authorization Identification Response code se + # + # @param retrieval_reference_number [String, nil] A life-cycle identifier used across e.g., an authorization and a reversal. Expec + # + # @param trace_number [String, nil] A counter used to verify an individual authorization. Expected to be unique per + # + # @param transaction_id [String, nil] A globally unique transaction identifier provided by the card network, used acro + end + + # The processing category describes the intent behind the authorization, such as + # whether it was used for bill payments or an automatic fuel dispenser. + # + # @see Increase::Models::CardPayment::Element::CardDecline#processing_category + module ProcessingCategory + extend Increase::Internal::Type::Enum + + # Account funding transactions are transactions used to e.g., fund an account or transfer funds between accounts. + ACCOUNT_FUNDING = :account_funding + + # Automatic fuel dispenser authorizations occur when a card is used at a gas pump, prior to the actual transaction amount being known. They are followed by an advice message that updates the amount of the pending transaction. + AUTOMATIC_FUEL_DISPENSER = :automatic_fuel_dispenser + + # A transaction used to pay a bill. + BILL_PAYMENT = :bill_payment + + # Original credit transactions are used to send money to a cardholder. + ORIGINAL_CREDIT = :original_credit + + # A regular purchase. + PURCHASE = :purchase + + # Quasi-cash transactions represent purchases of items which may be convertible to cash. + QUASI_CASH = :quasi_cash + + # A refund card authorization, sometimes referred to as a credit voucher authorization, where funds are credited to the cardholder. + REFUND = :refund + + # Cash disbursement transactions are used to withdraw cash from an ATM or a point of sale. + CASH_DISBURSEMENT = :cash_disbursement + + # The processing category is unknown. + UNKNOWN = :unknown + + # @!method self.values + # @return [Array] + end + + # This is present if a specific decline reason was given in the real-time + # decision. + # + # @see Increase::Models::CardPayment::Element::CardDecline#real_time_decision_reason + module RealTimeDecisionReason + extend Increase::Internal::Type::Enum + + # The cardholder does not have sufficient funds to cover the transaction. The merchant may attempt to process the transaction again. + INSUFFICIENT_FUNDS = :insufficient_funds + + # This type of transaction is not allowed for this card. This transaction should not be retried. + TRANSACTION_NEVER_ALLOWED = :transaction_never_allowed + + # The transaction amount exceeds the cardholder's approval limit. The merchant may attempt to process the transaction again. + EXCEEDS_APPROVAL_LIMIT = :exceeds_approval_limit + + # The card has been temporarily disabled or not yet activated. The merchant may attempt to process the transaction again. + CARD_TEMPORARILY_DISABLED = :card_temporarily_disabled + + # The transaction is suspected to be fraudulent. The merchant may attempt to process the transaction again. + SUSPECTED_FRAUD = :suspected_fraud + + # The transaction was declined for another reason. The merchant may attempt to process the transaction again. This should be used sparingly. + OTHER = :other + + # @!method self.values + # @return [Array] + end + + # Why the transaction was declined. + # + # @see Increase::Models::CardPayment::Element::CardDecline#reason + module Reason + extend Increase::Internal::Type::Enum + + # The account has been closed. + ACCOUNT_CLOSED = :account_closed + + # The Card was not active. + CARD_NOT_ACTIVE = :card_not_active + + # The Card has been canceled. + CARD_CANCELED = :card_canceled + + # The Physical Card was not active. + PHYSICAL_CARD_NOT_ACTIVE = :physical_card_not_active + + # The account's entity was not active. + ENTITY_NOT_ACTIVE = :entity_not_active + + # The account was inactive. + GROUP_LOCKED = :group_locked + + # The Card's Account did not have a sufficient available balance. + INSUFFICIENT_FUNDS = :insufficient_funds + + # The given CVV2 did not match the card's value. + CVV2_MISMATCH = :cvv2_mismatch + + # The given PIN did not match the card's value. + PIN_MISMATCH = :pin_mismatch + + # The given expiration date did not match the card's value. Only applies when a CVV2 is present. + CARD_EXPIRATION_MISMATCH = :card_expiration_mismatch + + # The attempted card transaction is not allowed per Increase's terms. + TRANSACTION_NOT_ALLOWED = :transaction_not_allowed + + # The transaction was blocked by a Limit. + BREACHES_LIMIT = :breaches_limit + + # Your application declined the transaction via webhook. + WEBHOOK_DECLINED = :webhook_declined + + # Your application webhook did not respond without the required timeout. + WEBHOOK_TIMED_OUT = :webhook_timed_out + + # Declined by stand-in processing. + DECLINED_BY_STAND_IN_PROCESSING = :declined_by_stand_in_processing + + # The card read had an invalid CVV, dCVV, or authorization request cryptogram. + INVALID_PHYSICAL_CARD = :invalid_physical_card + + # The original card authorization for this incremental authorization does not exist. + MISSING_ORIGINAL_AUTHORIZATION = :missing_original_authorization + + # The transaction was declined because the 3DS authentication failed. + FAILED_3DS_AUTHENTICATION = :failed_3ds_authentication + + # The transaction was suspected to be used by a card tester to test for valid card numbers. + SUSPECTED_CARD_TESTING = :suspected_card_testing + + # The transaction was suspected to be fraudulent. Please reach out to support@increase.com for more information. + SUSPECTED_FRAUD = :suspected_fraud + + # @!method self.values + # @return [Array] + end + + # @see Increase::Models::CardPayment::Element::CardDecline#verification + class Verification < Increase::Internal::Type::BaseModel + # @!attribute card_verification_code + # Fields related to verification of the Card Verification Code, a 3-digit code on + # the back of the card. + # + # @return [Increase::Models::CardPayment::Element::CardDecline::Verification::CardVerificationCode] + required :card_verification_code, + -> { Increase::CardPayment::Element::CardDecline::Verification::CardVerificationCode } + + # @!attribute cardholder_address + # Cardholder address provided in the authorization request and the address on file + # we verified it against. + # + # @return [Increase::Models::CardPayment::Element::CardDecline::Verification::CardholderAddress] + required :cardholder_address, + -> { Increase::CardPayment::Element::CardDecline::Verification::CardholderAddress } + + # @!method initialize(card_verification_code:, cardholder_address:) + # Some parameter documentations has been truncated, see + # {Increase::Models::CardPayment::Element::CardDecline::Verification} for more + # details. + # + # Fields related to verification of cardholder-provided values. + # + # @param card_verification_code [Increase::Models::CardPayment::Element::CardDecline::Verification::CardVerificationCode] Fields related to verification of the Card Verification Code, a 3-digit code on + # + # @param cardholder_address [Increase::Models::CardPayment::Element::CardDecline::Verification::CardholderAddress] Cardholder address provided in the authorization request and the address on file + + # @see Increase::Models::CardPayment::Element::CardDecline::Verification#card_verification_code + class CardVerificationCode < Increase::Internal::Type::BaseModel + # @!attribute result + # The result of verifying the Card Verification Code. + # + # @return [Symbol, Increase::Models::CardPayment::Element::CardDecline::Verification::CardVerificationCode::Result] + required :result, + enum: -> { Increase::CardPayment::Element::CardDecline::Verification::CardVerificationCode::Result } + + # @!method initialize(result:) + # Fields related to verification of the Card Verification Code, a 3-digit code on + # the back of the card. + # + # @param result [Symbol, Increase::Models::CardPayment::Element::CardDecline::Verification::CardVerificationCode::Result] The result of verifying the Card Verification Code. + + # The result of verifying the Card Verification Code. + # + # @see Increase::Models::CardPayment::Element::CardDecline::Verification::CardVerificationCode#result + module Result + extend Increase::Internal::Type::Enum + + # No card verification code was provided in the authorization request. + NOT_CHECKED = :not_checked + + # The card verification code matched the one on file. + MATCH = :match + + # The card verification code did not match the one on file. + NO_MATCH = :no_match + + # @!method self.values + # @return [Array] + end + end + + # @see Increase::Models::CardPayment::Element::CardDecline::Verification#cardholder_address + class CardholderAddress < Increase::Internal::Type::BaseModel + # @!attribute actual_line1 + # Line 1 of the address on file for the cardholder. + # + # @return [String, nil] + required :actual_line1, String, nil?: true + + # @!attribute actual_postal_code + # The postal code of the address on file for the cardholder. + # + # @return [String, nil] + required :actual_postal_code, String, nil?: true + + # @!attribute provided_line1 + # The cardholder address line 1 provided for verification in the authorization + # request. + # + # @return [String, nil] + required :provided_line1, String, nil?: true + + # @!attribute provided_postal_code + # The postal code provided for verification in the authorization request. + # + # @return [String, nil] + required :provided_postal_code, String, nil?: true + + # @!attribute result + # The address verification result returned to the card network. + # + # @return [Symbol, Increase::Models::CardPayment::Element::CardDecline::Verification::CardholderAddress::Result] + required :result, + enum: -> { Increase::CardPayment::Element::CardDecline::Verification::CardholderAddress::Result } + + # @!method initialize(actual_line1:, actual_postal_code:, provided_line1:, provided_postal_code:, result:) + # Some parameter documentations has been truncated, see + # {Increase::Models::CardPayment::Element::CardDecline::Verification::CardholderAddress} + # for more details. + # + # Cardholder address provided in the authorization request and the address on file + # we verified it against. + # + # @param actual_line1 [String, nil] Line 1 of the address on file for the cardholder. + # + # @param actual_postal_code [String, nil] The postal code of the address on file for the cardholder. + # + # @param provided_line1 [String, nil] The cardholder address line 1 provided for verification in the authorization req + # + # @param provided_postal_code [String, nil] The postal code provided for verification in the authorization request. + # + # @param result [Symbol, Increase::Models::CardPayment::Element::CardDecline::Verification::CardholderAddress::Result] The address verification result returned to the card network. + + # The address verification result returned to the card network. + # + # @see Increase::Models::CardPayment::Element::CardDecline::Verification::CardholderAddress#result + module Result + extend Increase::Internal::Type::Enum + + # No address information was provided in the authorization request. + NOT_CHECKED = :not_checked + + # Postal code matches, but the street address does not match or was not provided. + POSTAL_CODE_MATCH_ADDRESS_NO_MATCH = :postal_code_match_address_no_match + + # Postal code does not match, but the street address matches or was not provided. + POSTAL_CODE_NO_MATCH_ADDRESS_MATCH = :postal_code_no_match_address_match + + # Postal code and street address match. + MATCH = :match + + # Postal code and street address do not match. + NO_MATCH = :no_match + + # Postal code matches, but the street address was not verified. (deprecated) + POSTAL_CODE_MATCH_ADDRESS_NOT_CHECKED = :postal_code_match_address_not_checked + + # @!method self.values + # @return [Array] + end + end + end + end + + # @see Increase::Models::CardPayment::Element#card_financial + class CardFinancial < Increase::Internal::Type::BaseModel + # @!attribute id + # The Card Financial identifier. + # + # @return [String] + required :id, String + + # @!attribute actioner + # Whether this financial was approved by Increase, the card network through + # stand-in processing, or the user through a real-time decision. + # + # @return [Symbol, Increase::Models::CardPayment::Element::CardFinancial::Actioner] + required :actioner, enum: -> { Increase::CardPayment::Element::CardFinancial::Actioner } + + # @!attribute additional_amounts + # Additional amounts associated with the card authorization, such as ATM + # surcharges fees. These are usually a subset of the `amount` field and are used + # to provide more detailed information about the transaction. + # + # @return [Increase::Models::CardPayment::Element::CardFinancial::AdditionalAmounts] + required :additional_amounts, -> { Increase::CardPayment::Element::CardFinancial::AdditionalAmounts } + + # @!attribute amount + # The pending amount in the minor unit of the transaction's currency. For dollars, + # for example, this is cents. + # + # @return [Integer] + required :amount, Integer + + # @!attribute card_payment_id + # The ID of the Card Payment this transaction belongs to. + # + # @return [String] + required :card_payment_id, String + + # @!attribute currency + # The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the + # transaction's currency. + # + # @return [Symbol, Increase::Models::CardPayment::Element::CardFinancial::Currency] + required :currency, enum: -> { Increase::CardPayment::Element::CardFinancial::Currency } + + # @!attribute digital_wallet_token_id + # If the authorization was made via a Digital Wallet Token (such as an Apple Pay + # purchase), the identifier of the token that was used. + # + # @return [String, nil] + required :digital_wallet_token_id, String, nil?: true + + # @!attribute direction + # The direction describes the direction the funds will move, either from the + # cardholder to the merchant or from the merchant to the cardholder. + # + # @return [Symbol, Increase::Models::CardPayment::Element::CardFinancial::Direction] + required :direction, enum: -> { Increase::CardPayment::Element::CardFinancial::Direction } + + # @!attribute merchant_acceptor_id + # The merchant identifier (commonly abbreviated as MID) of the merchant the card + # is transacting with. + # + # @return [String] + required :merchant_acceptor_id, String + + # @!attribute merchant_category_code + # The Merchant Category Code (commonly abbreviated as MCC) of the merchant the + # card is transacting with. + # + # @return [String] + required :merchant_category_code, String + + # @!attribute merchant_city + # The city the merchant resides in. + # + # @return [String, nil] + required :merchant_city, String, nil?: true + + # @!attribute merchant_country + # The country the merchant resides in. + # + # @return [String] + required :merchant_country, String + + # @!attribute merchant_descriptor + # The merchant descriptor of the merchant the card is transacting with. + # + # @return [String] + required :merchant_descriptor, String + + # @!attribute merchant_postal_code + # The merchant's postal code. For US merchants this is either a 5-digit or 9-digit + # ZIP code, where the first 5 and last 4 are separated by a dash. + # + # @return [String, nil] + required :merchant_postal_code, String, nil?: true + + # @!attribute merchant_state + # The state the merchant resides in. + # + # @return [String, nil] + required :merchant_state, String, nil?: true + + # @!attribute network_details + # Fields specific to the `network`. + # + # @return [Increase::Models::CardPayment::Element::CardFinancial::NetworkDetails] + required :network_details, -> { Increase::CardPayment::Element::CardFinancial::NetworkDetails } + + # @!attribute network_identifiers + # Network-specific identifiers for a specific request or transaction. + # + # @return [Increase::Models::CardPayment::Element::CardFinancial::NetworkIdentifiers] + required :network_identifiers, -> { Increase::CardPayment::Element::CardFinancial::NetworkIdentifiers } + + # @!attribute network_risk_score + # The risk score generated by the card network. For Visa this is the Visa Advanced + # Authorization risk score, from 0 to 99, where 99 is the riskiest. For Pulse the + # score is from 0 to 999, where 999 is the riskiest. + # + # @return [Integer, nil] + required :network_risk_score, Integer, nil?: true + + # @!attribute physical_card_id + # If the authorization was made in-person with a physical card, the Physical Card + # that was used. + # + # @return [String, nil] + required :physical_card_id, String, nil?: true + + # @!attribute presentment_amount + # The pending amount in the minor unit of the transaction's presentment currency. + # + # @return [Integer] + required :presentment_amount, Integer + + # @!attribute presentment_currency + # The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the + # transaction's presentment currency. + # + # @return [String] + required :presentment_currency, String + + # @!attribute processing_category + # The processing category describes the intent behind the financial, such as + # whether it was used for bill payments or an automatic fuel dispenser. + # + # @return [Symbol, Increase::Models::CardPayment::Element::CardFinancial::ProcessingCategory] required :processing_category, - enum: -> { Increase::CardPayment::Element::CardDecline::ProcessingCategory } + enum: -> { Increase::CardPayment::Element::CardFinancial::ProcessingCategory } # @!attribute real_time_decision_id # The identifier of the Real-Time Decision sent to approve or decline this @@ -2102,21 +3373,6 @@ class CardDecline < Increase::Internal::Type::BaseModel # @return [String, nil] required :real_time_decision_id, String, nil?: true - # @!attribute real_time_decision_reason - # This is present if a specific decline reason was given in the real-time - # decision. - # - # @return [Symbol, Increase::Models::CardPayment::Element::CardDecline::RealTimeDecisionReason, nil] - required :real_time_decision_reason, - enum: -> { Increase::CardPayment::Element::CardDecline::RealTimeDecisionReason }, - nil?: true - - # @!attribute reason - # Why the transaction was declined. - # - # @return [Symbol, Increase::Models::CardPayment::Element::CardDecline::Reason] - required :reason, enum: -> { Increase::CardPayment::Element::CardDecline::Reason } - # @!attribute terminal_id # The terminal identifier (commonly abbreviated as TID) of the terminal the card # is transacting with. @@ -2124,38 +3380,48 @@ class CardDecline < Increase::Internal::Type::BaseModel # @return [String, nil] required :terminal_id, String, nil?: true + # @!attribute transaction_id + # The identifier of the Transaction associated with this Transaction. + # + # @return [String] + required :transaction_id, String + + # @!attribute type + # A constant representing the object's type. For this resource it will always be + # `card_financial`. + # + # @return [Symbol, Increase::Models::CardPayment::Element::CardFinancial::Type] + required :type, enum: -> { Increase::CardPayment::Element::CardFinancial::Type } + # @!attribute verification # Fields related to verification of cardholder-provided values. # - # @return [Increase::Models::CardPayment::Element::CardDecline::Verification] - required :verification, -> { Increase::CardPayment::Element::CardDecline::Verification } + # @return [Increase::Models::CardPayment::Element::CardFinancial::Verification] + required :verification, -> { Increase::CardPayment::Element::CardFinancial::Verification } - # @!method initialize(id:, actioner:, additional_amounts:, amount:, card_payment_id:, currency:, declined_transaction_id:, digital_wallet_token_id:, direction:, incremented_card_authorization_id:, merchant_acceptor_id:, merchant_category_code:, merchant_city:, merchant_country:, merchant_descriptor:, merchant_postal_code:, merchant_state:, network_details:, network_identifiers:, network_risk_score:, physical_card_id:, presentment_amount:, presentment_currency:, processing_category:, real_time_decision_id:, real_time_decision_reason:, reason:, terminal_id:, verification:) + # @!method initialize(id:, actioner:, additional_amounts:, amount:, card_payment_id:, currency:, digital_wallet_token_id:, direction:, merchant_acceptor_id:, merchant_category_code:, merchant_city:, merchant_country:, merchant_descriptor:, merchant_postal_code:, merchant_state:, network_details:, network_identifiers:, network_risk_score:, physical_card_id:, presentment_amount:, presentment_currency:, processing_category:, real_time_decision_id:, terminal_id:, transaction_id:, type:, verification:) # Some parameter documentations has been truncated, see - # {Increase::Models::CardPayment::Element::CardDecline} for more details. + # {Increase::Models::CardPayment::Element::CardFinancial} for more details. # - # A Card Decline object. This field will be present in the JSON response if and - # only if `category` is equal to `card_decline`. + # A Card Financial object. This field will be present in the JSON response if and + # only if `category` is equal to `card_financial`. Card Financials are temporary + # holds placed on a customers funds with the intent to later clear a transaction. # - # @param id [String] The Card Decline identifier. + # @param id [String] The Card Financial identifier. # - # @param actioner [Symbol, Increase::Models::CardPayment::Element::CardDecline::Actioner] Whether this authorization was approved by Increase, the card network through st + # @param actioner [Symbol, Increase::Models::CardPayment::Element::CardFinancial::Actioner] Whether this financial was approved by Increase, the card network through stand- # - # @param additional_amounts [Increase::Models::CardPayment::Element::CardDecline::AdditionalAmounts] Additional amounts associated with the card authorization, such as ATM surcharge + # @param additional_amounts [Increase::Models::CardPayment::Element::CardFinancial::AdditionalAmounts] Additional amounts associated with the card authorization, such as ATM surcharge # - # @param amount [Integer] The declined amount in the minor unit of the destination account currency. For d + # @param amount [Integer] The pending amount in the minor unit of the transaction's currency. For dollars, # # @param card_payment_id [String] The ID of the Card Payment this transaction belongs to. # - # @param currency [Symbol, Increase::Models::CardPayment::Element::CardDecline::Currency] The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the destination - # - # @param declined_transaction_id [String] The identifier of the declined transaction created for this Card Decline. + # @param currency [Symbol, Increase::Models::CardPayment::Element::CardFinancial::Currency] The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the transaction' # # @param digital_wallet_token_id [String, nil] If the authorization was made via a Digital Wallet Token (such as an Apple Pay p # - # @param direction [Symbol, Increase::Models::CardPayment::Element::CardDecline::Direction] The direction describes the direction the funds will move, either from the cardh - # - # @param incremented_card_authorization_id [String, nil] The identifier of the card authorization this request attempted to incrementally + # @param direction [Symbol, Increase::Models::CardPayment::Element::CardFinancial::Direction] The direction describes the direction the funds will move, either from the cardh # # @param merchant_acceptor_id [String] The merchant identifier (commonly abbreviated as MID) of the merchant the card i # @@ -2171,34 +3437,34 @@ class CardDecline < Increase::Internal::Type::BaseModel # # @param merchant_state [String, nil] The state the merchant resides in. # - # @param network_details [Increase::Models::CardPayment::Element::CardDecline::NetworkDetails] Fields specific to the `network`. + # @param network_details [Increase::Models::CardPayment::Element::CardFinancial::NetworkDetails] Fields specific to the `network`. # - # @param network_identifiers [Increase::Models::CardPayment::Element::CardDecline::NetworkIdentifiers] Network-specific identifiers for a specific request or transaction. + # @param network_identifiers [Increase::Models::CardPayment::Element::CardFinancial::NetworkIdentifiers] Network-specific identifiers for a specific request or transaction. # # @param network_risk_score [Integer, nil] The risk score generated by the card network. For Visa this is the Visa Advanced # # @param physical_card_id [String, nil] If the authorization was made in-person with a physical card, the Physical Card # - # @param presentment_amount [Integer] The declined amount in the minor unit of the transaction's presentment currency. + # @param presentment_amount [Integer] The pending amount in the minor unit of the transaction's presentment currency. # # @param presentment_currency [String] The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the transaction' # - # @param processing_category [Symbol, Increase::Models::CardPayment::Element::CardDecline::ProcessingCategory] The processing category describes the intent behind the authorization, such as w + # @param processing_category [Symbol, Increase::Models::CardPayment::Element::CardFinancial::ProcessingCategory] The processing category describes the intent behind the financial, such as wheth # # @param real_time_decision_id [String, nil] The identifier of the Real-Time Decision sent to approve or decline this transac # - # @param real_time_decision_reason [Symbol, Increase::Models::CardPayment::Element::CardDecline::RealTimeDecisionReason, nil] This is present if a specific decline reason was given in the real-time decision + # @param terminal_id [String, nil] The terminal identifier (commonly abbreviated as TID) of the terminal the card i # - # @param reason [Symbol, Increase::Models::CardPayment::Element::CardDecline::Reason] Why the transaction was declined. + # @param transaction_id [String] The identifier of the Transaction associated with this Transaction. # - # @param terminal_id [String, nil] The terminal identifier (commonly abbreviated as TID) of the terminal the card i + # @param type [Symbol, Increase::Models::CardPayment::Element::CardFinancial::Type] A constant representing the object's type. For this resource it will always be ` # - # @param verification [Increase::Models::CardPayment::Element::CardDecline::Verification] Fields related to verification of cardholder-provided values. + # @param verification [Increase::Models::CardPayment::Element::CardFinancial::Verification] Fields related to verification of cardholder-provided values. - # Whether this authorization was approved by Increase, the card network through + # Whether this financial was approved by Increase, the card network through # stand-in processing, or the user through a real-time decision. # - # @see Increase::Models::CardPayment::Element::CardDecline#actioner + # @see Increase::Models::CardPayment::Element::CardFinancial#actioner module Actioner extend Increase::Internal::Type::Enum @@ -2215,118 +3481,118 @@ module Actioner # @return [Array] end - # @see Increase::Models::CardPayment::Element::CardDecline#additional_amounts + # @see Increase::Models::CardPayment::Element::CardFinancial#additional_amounts class AdditionalAmounts < Increase::Internal::Type::BaseModel # @!attribute clinic # The part of this transaction amount that was for clinic-related services. # - # @return [Increase::Models::CardPayment::Element::CardDecline::AdditionalAmounts::Clinic, nil] + # @return [Increase::Models::CardPayment::Element::CardFinancial::AdditionalAmounts::Clinic, nil] required :clinic, - -> { Increase::CardPayment::Element::CardDecline::AdditionalAmounts::Clinic }, + -> { Increase::CardPayment::Element::CardFinancial::AdditionalAmounts::Clinic }, nil?: true # @!attribute dental # The part of this transaction amount that was for dental-related services. # - # @return [Increase::Models::CardPayment::Element::CardDecline::AdditionalAmounts::Dental, nil] + # @return [Increase::Models::CardPayment::Element::CardFinancial::AdditionalAmounts::Dental, nil] required :dental, - -> { Increase::CardPayment::Element::CardDecline::AdditionalAmounts::Dental }, + -> { Increase::CardPayment::Element::CardFinancial::AdditionalAmounts::Dental }, nil?: true # @!attribute original # The original pre-authorized amount. # - # @return [Increase::Models::CardPayment::Element::CardDecline::AdditionalAmounts::Original, nil] + # @return [Increase::Models::CardPayment::Element::CardFinancial::AdditionalAmounts::Original, nil] required :original, - -> { Increase::CardPayment::Element::CardDecline::AdditionalAmounts::Original }, + -> { Increase::CardPayment::Element::CardFinancial::AdditionalAmounts::Original }, nil?: true # @!attribute prescription # The part of this transaction amount that was for healthcare prescriptions. # - # @return [Increase::Models::CardPayment::Element::CardDecline::AdditionalAmounts::Prescription, nil] + # @return [Increase::Models::CardPayment::Element::CardFinancial::AdditionalAmounts::Prescription, nil] required :prescription, - -> { Increase::CardPayment::Element::CardDecline::AdditionalAmounts::Prescription }, + -> { Increase::CardPayment::Element::CardFinancial::AdditionalAmounts::Prescription }, nil?: true # @!attribute surcharge # The surcharge amount charged for this transaction by the merchant. # - # @return [Increase::Models::CardPayment::Element::CardDecline::AdditionalAmounts::Surcharge, nil] + # @return [Increase::Models::CardPayment::Element::CardFinancial::AdditionalAmounts::Surcharge, nil] required :surcharge, - -> { Increase::CardPayment::Element::CardDecline::AdditionalAmounts::Surcharge }, + -> { Increase::CardPayment::Element::CardFinancial::AdditionalAmounts::Surcharge }, nil?: true # @!attribute total_cumulative # The total amount of a series of incremental authorizations, optionally provided. # - # @return [Increase::Models::CardPayment::Element::CardDecline::AdditionalAmounts::TotalCumulative, nil] + # @return [Increase::Models::CardPayment::Element::CardFinancial::AdditionalAmounts::TotalCumulative, nil] required :total_cumulative, - -> { Increase::CardPayment::Element::CardDecline::AdditionalAmounts::TotalCumulative }, + -> { Increase::CardPayment::Element::CardFinancial::AdditionalAmounts::TotalCumulative }, nil?: true # @!attribute total_healthcare # The total amount of healthcare-related additional amounts. # - # @return [Increase::Models::CardPayment::Element::CardDecline::AdditionalAmounts::TotalHealthcare, nil] + # @return [Increase::Models::CardPayment::Element::CardFinancial::AdditionalAmounts::TotalHealthcare, nil] required :total_healthcare, - -> { Increase::CardPayment::Element::CardDecline::AdditionalAmounts::TotalHealthcare }, + -> { Increase::CardPayment::Element::CardFinancial::AdditionalAmounts::TotalHealthcare }, nil?: true # @!attribute transit # The part of this transaction amount that was for transit-related services. # - # @return [Increase::Models::CardPayment::Element::CardDecline::AdditionalAmounts::Transit, nil] + # @return [Increase::Models::CardPayment::Element::CardFinancial::AdditionalAmounts::Transit, nil] required :transit, - -> { Increase::CardPayment::Element::CardDecline::AdditionalAmounts::Transit }, + -> { Increase::CardPayment::Element::CardFinancial::AdditionalAmounts::Transit }, nil?: true # @!attribute unknown # An unknown additional amount. # - # @return [Increase::Models::CardPayment::Element::CardDecline::AdditionalAmounts::Unknown, nil] + # @return [Increase::Models::CardPayment::Element::CardFinancial::AdditionalAmounts::Unknown, nil] required :unknown, - -> { Increase::CardPayment::Element::CardDecline::AdditionalAmounts::Unknown }, + -> { Increase::CardPayment::Element::CardFinancial::AdditionalAmounts::Unknown }, nil?: true # @!attribute vision # The part of this transaction amount that was for vision-related services. # - # @return [Increase::Models::CardPayment::Element::CardDecline::AdditionalAmounts::Vision, nil] + # @return [Increase::Models::CardPayment::Element::CardFinancial::AdditionalAmounts::Vision, nil] required :vision, - -> { Increase::CardPayment::Element::CardDecline::AdditionalAmounts::Vision }, + -> { Increase::CardPayment::Element::CardFinancial::AdditionalAmounts::Vision }, nil?: true # @!method initialize(clinic:, dental:, original:, prescription:, surcharge:, total_cumulative:, total_healthcare:, transit:, unknown:, vision:) # Some parameter documentations has been truncated, see - # {Increase::Models::CardPayment::Element::CardDecline::AdditionalAmounts} for + # {Increase::Models::CardPayment::Element::CardFinancial::AdditionalAmounts} for # more details. # # Additional amounts associated with the card authorization, such as ATM # surcharges fees. These are usually a subset of the `amount` field and are used # to provide more detailed information about the transaction. # - # @param clinic [Increase::Models::CardPayment::Element::CardDecline::AdditionalAmounts::Clinic, nil] The part of this transaction amount that was for clinic-related services. + # @param clinic [Increase::Models::CardPayment::Element::CardFinancial::AdditionalAmounts::Clinic, nil] The part of this transaction amount that was for clinic-related services. # - # @param dental [Increase::Models::CardPayment::Element::CardDecline::AdditionalAmounts::Dental, nil] The part of this transaction amount that was for dental-related services. + # @param dental [Increase::Models::CardPayment::Element::CardFinancial::AdditionalAmounts::Dental, nil] The part of this transaction amount that was for dental-related services. # - # @param original [Increase::Models::CardPayment::Element::CardDecline::AdditionalAmounts::Original, nil] The original pre-authorized amount. + # @param original [Increase::Models::CardPayment::Element::CardFinancial::AdditionalAmounts::Original, nil] The original pre-authorized amount. # - # @param prescription [Increase::Models::CardPayment::Element::CardDecline::AdditionalAmounts::Prescription, nil] The part of this transaction amount that was for healthcare prescriptions. + # @param prescription [Increase::Models::CardPayment::Element::CardFinancial::AdditionalAmounts::Prescription, nil] The part of this transaction amount that was for healthcare prescriptions. # - # @param surcharge [Increase::Models::CardPayment::Element::CardDecline::AdditionalAmounts::Surcharge, nil] The surcharge amount charged for this transaction by the merchant. + # @param surcharge [Increase::Models::CardPayment::Element::CardFinancial::AdditionalAmounts::Surcharge, nil] The surcharge amount charged for this transaction by the merchant. # - # @param total_cumulative [Increase::Models::CardPayment::Element::CardDecline::AdditionalAmounts::TotalCumulative, nil] The total amount of a series of incremental authorizations, optionally provided. + # @param total_cumulative [Increase::Models::CardPayment::Element::CardFinancial::AdditionalAmounts::TotalCumulative, nil] The total amount of a series of incremental authorizations, optionally provided. # - # @param total_healthcare [Increase::Models::CardPayment::Element::CardDecline::AdditionalAmounts::TotalHealthcare, nil] The total amount of healthcare-related additional amounts. + # @param total_healthcare [Increase::Models::CardPayment::Element::CardFinancial::AdditionalAmounts::TotalHealthcare, nil] The total amount of healthcare-related additional amounts. # - # @param transit [Increase::Models::CardPayment::Element::CardDecline::AdditionalAmounts::Transit, nil] The part of this transaction amount that was for transit-related services. + # @param transit [Increase::Models::CardPayment::Element::CardFinancial::AdditionalAmounts::Transit, nil] The part of this transaction amount that was for transit-related services. # - # @param unknown [Increase::Models::CardPayment::Element::CardDecline::AdditionalAmounts::Unknown, nil] An unknown additional amount. + # @param unknown [Increase::Models::CardPayment::Element::CardFinancial::AdditionalAmounts::Unknown, nil] An unknown additional amount. # - # @param vision [Increase::Models::CardPayment::Element::CardDecline::AdditionalAmounts::Vision, nil] The part of this transaction amount that was for vision-related services. + # @param vision [Increase::Models::CardPayment::Element::CardFinancial::AdditionalAmounts::Vision, nil] The part of this transaction amount that was for vision-related services. - # @see Increase::Models::CardPayment::Element::CardDecline::AdditionalAmounts#clinic + # @see Increase::Models::CardPayment::Element::CardFinancial::AdditionalAmounts#clinic class Clinic < Increase::Internal::Type::BaseModel # @!attribute amount # The amount in minor units of the `currency` field. The amount is positive if it @@ -2345,7 +3611,7 @@ class Clinic < Increase::Internal::Type::BaseModel # @!method initialize(amount:, currency:) # Some parameter documentations has been truncated, see - # {Increase::Models::CardPayment::Element::CardDecline::AdditionalAmounts::Clinic} + # {Increase::Models::CardPayment::Element::CardFinancial::AdditionalAmounts::Clinic} # for more details. # # The part of this transaction amount that was for clinic-related services. @@ -2355,7 +3621,7 @@ class Clinic < Increase::Internal::Type::BaseModel # @param currency [String] The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the additional a end - # @see Increase::Models::CardPayment::Element::CardDecline::AdditionalAmounts#dental + # @see Increase::Models::CardPayment::Element::CardFinancial::AdditionalAmounts#dental class Dental < Increase::Internal::Type::BaseModel # @!attribute amount # The amount in minor units of the `currency` field. The amount is positive if it @@ -2374,7 +3640,7 @@ class Dental < Increase::Internal::Type::BaseModel # @!method initialize(amount:, currency:) # Some parameter documentations has been truncated, see - # {Increase::Models::CardPayment::Element::CardDecline::AdditionalAmounts::Dental} + # {Increase::Models::CardPayment::Element::CardFinancial::AdditionalAmounts::Dental} # for more details. # # The part of this transaction amount that was for dental-related services. @@ -2384,7 +3650,7 @@ class Dental < Increase::Internal::Type::BaseModel # @param currency [String] The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the additional a end - # @see Increase::Models::CardPayment::Element::CardDecline::AdditionalAmounts#original + # @see Increase::Models::CardPayment::Element::CardFinancial::AdditionalAmounts#original class Original < Increase::Internal::Type::BaseModel # @!attribute amount # The amount in minor units of the `currency` field. The amount is positive if it @@ -2403,7 +3669,7 @@ class Original < Increase::Internal::Type::BaseModel # @!method initialize(amount:, currency:) # Some parameter documentations has been truncated, see - # {Increase::Models::CardPayment::Element::CardDecline::AdditionalAmounts::Original} + # {Increase::Models::CardPayment::Element::CardFinancial::AdditionalAmounts::Original} # for more details. # # The original pre-authorized amount. @@ -2413,7 +3679,7 @@ class Original < Increase::Internal::Type::BaseModel # @param currency [String] The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the additional a end - # @see Increase::Models::CardPayment::Element::CardDecline::AdditionalAmounts#prescription + # @see Increase::Models::CardPayment::Element::CardFinancial::AdditionalAmounts#prescription class Prescription < Increase::Internal::Type::BaseModel # @!attribute amount # The amount in minor units of the `currency` field. The amount is positive if it @@ -2432,7 +3698,7 @@ class Prescription < Increase::Internal::Type::BaseModel # @!method initialize(amount:, currency:) # Some parameter documentations has been truncated, see - # {Increase::Models::CardPayment::Element::CardDecline::AdditionalAmounts::Prescription} + # {Increase::Models::CardPayment::Element::CardFinancial::AdditionalAmounts::Prescription} # for more details. # # The part of this transaction amount that was for healthcare prescriptions. @@ -2442,7 +3708,7 @@ class Prescription < Increase::Internal::Type::BaseModel # @param currency [String] The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the additional a end - # @see Increase::Models::CardPayment::Element::CardDecline::AdditionalAmounts#surcharge + # @see Increase::Models::CardPayment::Element::CardFinancial::AdditionalAmounts#surcharge class Surcharge < Increase::Internal::Type::BaseModel # @!attribute amount # The amount in minor units of the `currency` field. The amount is positive if it @@ -2461,7 +3727,7 @@ class Surcharge < Increase::Internal::Type::BaseModel # @!method initialize(amount:, currency:) # Some parameter documentations has been truncated, see - # {Increase::Models::CardPayment::Element::CardDecline::AdditionalAmounts::Surcharge} + # {Increase::Models::CardPayment::Element::CardFinancial::AdditionalAmounts::Surcharge} # for more details. # # The surcharge amount charged for this transaction by the merchant. @@ -2471,7 +3737,7 @@ class Surcharge < Increase::Internal::Type::BaseModel # @param currency [String] The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the additional a end - # @see Increase::Models::CardPayment::Element::CardDecline::AdditionalAmounts#total_cumulative + # @see Increase::Models::CardPayment::Element::CardFinancial::AdditionalAmounts#total_cumulative class TotalCumulative < Increase::Internal::Type::BaseModel # @!attribute amount # The amount in minor units of the `currency` field. The amount is positive if it @@ -2490,7 +3756,7 @@ class TotalCumulative < Increase::Internal::Type::BaseModel # @!method initialize(amount:, currency:) # Some parameter documentations has been truncated, see - # {Increase::Models::CardPayment::Element::CardDecline::AdditionalAmounts::TotalCumulative} + # {Increase::Models::CardPayment::Element::CardFinancial::AdditionalAmounts::TotalCumulative} # for more details. # # The total amount of a series of incremental authorizations, optionally provided. @@ -2500,7 +3766,7 @@ class TotalCumulative < Increase::Internal::Type::BaseModel # @param currency [String] The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the additional a end - # @see Increase::Models::CardPayment::Element::CardDecline::AdditionalAmounts#total_healthcare + # @see Increase::Models::CardPayment::Element::CardFinancial::AdditionalAmounts#total_healthcare class TotalHealthcare < Increase::Internal::Type::BaseModel # @!attribute amount # The amount in minor units of the `currency` field. The amount is positive if it @@ -2519,7 +3785,7 @@ class TotalHealthcare < Increase::Internal::Type::BaseModel # @!method initialize(amount:, currency:) # Some parameter documentations has been truncated, see - # {Increase::Models::CardPayment::Element::CardDecline::AdditionalAmounts::TotalHealthcare} + # {Increase::Models::CardPayment::Element::CardFinancial::AdditionalAmounts::TotalHealthcare} # for more details. # # The total amount of healthcare-related additional amounts. @@ -2529,7 +3795,7 @@ class TotalHealthcare < Increase::Internal::Type::BaseModel # @param currency [String] The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the additional a end - # @see Increase::Models::CardPayment::Element::CardDecline::AdditionalAmounts#transit + # @see Increase::Models::CardPayment::Element::CardFinancial::AdditionalAmounts#transit class Transit < Increase::Internal::Type::BaseModel # @!attribute amount # The amount in minor units of the `currency` field. The amount is positive if it @@ -2548,7 +3814,7 @@ class Transit < Increase::Internal::Type::BaseModel # @!method initialize(amount:, currency:) # Some parameter documentations has been truncated, see - # {Increase::Models::CardPayment::Element::CardDecline::AdditionalAmounts::Transit} + # {Increase::Models::CardPayment::Element::CardFinancial::AdditionalAmounts::Transit} # for more details. # # The part of this transaction amount that was for transit-related services. @@ -2558,7 +3824,7 @@ class Transit < Increase::Internal::Type::BaseModel # @param currency [String] The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the additional a end - # @see Increase::Models::CardPayment::Element::CardDecline::AdditionalAmounts#unknown + # @see Increase::Models::CardPayment::Element::CardFinancial::AdditionalAmounts#unknown class Unknown < Increase::Internal::Type::BaseModel # @!attribute amount # The amount in minor units of the `currency` field. The amount is positive if it @@ -2577,7 +3843,7 @@ class Unknown < Increase::Internal::Type::BaseModel # @!method initialize(amount:, currency:) # Some parameter documentations has been truncated, see - # {Increase::Models::CardPayment::Element::CardDecline::AdditionalAmounts::Unknown} + # {Increase::Models::CardPayment::Element::CardFinancial::AdditionalAmounts::Unknown} # for more details. # # An unknown additional amount. @@ -2587,7 +3853,7 @@ class Unknown < Increase::Internal::Type::BaseModel # @param currency [String] The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the additional a end - # @see Increase::Models::CardPayment::Element::CardDecline::AdditionalAmounts#vision + # @see Increase::Models::CardPayment::Element::CardFinancial::AdditionalAmounts#vision class Vision < Increase::Internal::Type::BaseModel # @!attribute amount # The amount in minor units of the `currency` field. The amount is positive if it @@ -2606,7 +3872,7 @@ class Vision < Increase::Internal::Type::BaseModel # @!method initialize(amount:, currency:) # Some parameter documentations has been truncated, see - # {Increase::Models::CardPayment::Element::CardDecline::AdditionalAmounts::Vision} + # {Increase::Models::CardPayment::Element::CardFinancial::AdditionalAmounts::Vision} # for more details. # # The part of this transaction amount that was for vision-related services. @@ -2617,10 +3883,10 @@ class Vision < Increase::Internal::Type::BaseModel end end - # The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the destination - # account currency. + # The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the + # transaction's currency. # - # @see Increase::Models::CardPayment::Element::CardDecline#currency + # @see Increase::Models::CardPayment::Element::CardFinancial#currency module Currency extend Increase::Internal::Type::Enum @@ -2649,7 +3915,7 @@ module Currency # The direction describes the direction the funds will move, either from the # cardholder to the merchant or from the merchant to the cardholder. # - # @see Increase::Models::CardPayment::Element::CardDecline#direction + # @see Increase::Models::CardPayment::Element::CardFinancial#direction module Direction extend Increase::Internal::Type::Enum @@ -2663,13 +3929,13 @@ module Direction # @return [Array] end - # @see Increase::Models::CardPayment::Element::CardDecline#network_details + # @see Increase::Models::CardPayment::Element::CardFinancial#network_details class NetworkDetails < Increase::Internal::Type::BaseModel # @!attribute category # The payment network used to process this card authorization. # - # @return [Symbol, Increase::Models::CardPayment::Element::CardDecline::NetworkDetails::Category] - required :category, enum: -> { Increase::CardPayment::Element::CardDecline::NetworkDetails::Category } + # @return [Symbol, Increase::Models::CardPayment::Element::CardFinancial::NetworkDetails::Category] + required :category, enum: -> { Increase::CardPayment::Element::CardFinancial::NetworkDetails::Category } # @!attribute pulse # Fields specific to the `pulse` network. @@ -2680,25 +3946,25 @@ class NetworkDetails < Increase::Internal::Type::BaseModel # @!attribute visa # Fields specific to the `visa` network. # - # @return [Increase::Models::CardPayment::Element::CardDecline::NetworkDetails::Visa, nil] + # @return [Increase::Models::CardPayment::Element::CardFinancial::NetworkDetails::Visa, nil] required :visa, -> { - Increase::CardPayment::Element::CardDecline::NetworkDetails::Visa + Increase::CardPayment::Element::CardFinancial::NetworkDetails::Visa }, nil?: true # @!method initialize(category:, pulse:, visa:) # Fields specific to the `network`. # - # @param category [Symbol, Increase::Models::CardPayment::Element::CardDecline::NetworkDetails::Category] The payment network used to process this card authorization. + # @param category [Symbol, Increase::Models::CardPayment::Element::CardFinancial::NetworkDetails::Category] The payment network used to process this card authorization. # # @param pulse [Object, nil] Fields specific to the `pulse` network. # - # @param visa [Increase::Models::CardPayment::Element::CardDecline::NetworkDetails::Visa, nil] Fields specific to the `visa` network. + # @param visa [Increase::Models::CardPayment::Element::CardFinancial::NetworkDetails::Visa, nil] Fields specific to the `visa` network. # The payment network used to process this card authorization. # - # @see Increase::Models::CardPayment::Element::CardDecline::NetworkDetails#category + # @see Increase::Models::CardPayment::Element::CardFinancial::NetworkDetails#category module Category extend Increase::Internal::Type::Enum @@ -2712,17 +3978,17 @@ module Category # @return [Array] end - # @see Increase::Models::CardPayment::Element::CardDecline::NetworkDetails#visa + # @see Increase::Models::CardPayment::Element::CardFinancial::NetworkDetails#visa class Visa < Increase::Internal::Type::BaseModel # @!attribute electronic_commerce_indicator # For electronic commerce transactions, this identifies the level of security used # in obtaining the customer's payment credential. For mail or telephone order # transactions, identifies the type of mail or telephone order. # - # @return [Symbol, Increase::Models::CardPayment::Element::CardDecline::NetworkDetails::Visa::ElectronicCommerceIndicator, nil] + # @return [Symbol, Increase::Models::CardPayment::Element::CardFinancial::NetworkDetails::Visa::ElectronicCommerceIndicator, nil] required :electronic_commerce_indicator, enum: -> { - Increase::CardPayment::Element::CardDecline::NetworkDetails::Visa::ElectronicCommerceIndicator + Increase::CardPayment::Element::CardFinancial::NetworkDetails::Visa::ElectronicCommerceIndicator }, nil?: true @@ -2730,10 +3996,10 @@ class Visa < Increase::Internal::Type::BaseModel # The method used to enter the cardholder's primary account number and card # expiration date. # - # @return [Symbol, Increase::Models::CardPayment::Element::CardDecline::NetworkDetails::Visa::PointOfServiceEntryMode, nil] + # @return [Symbol, Increase::Models::CardPayment::Element::CardFinancial::NetworkDetails::Visa::PointOfServiceEntryMode, nil] required :point_of_service_entry_mode, enum: -> { - Increase::CardPayment::Element::CardDecline::NetworkDetails::Visa::PointOfServiceEntryMode + Increase::CardPayment::Element::CardFinancial::NetworkDetails::Visa::PointOfServiceEntryMode }, nil?: true @@ -2741,31 +4007,31 @@ class Visa < Increase::Internal::Type::BaseModel # Only present when `actioner: network`. Describes why a card authorization was # approved or declined by Visa through stand-in processing. # - # @return [Symbol, Increase::Models::CardPayment::Element::CardDecline::NetworkDetails::Visa::StandInProcessingReason, nil] + # @return [Symbol, Increase::Models::CardPayment::Element::CardFinancial::NetworkDetails::Visa::StandInProcessingReason, nil] required :stand_in_processing_reason, enum: -> { - Increase::CardPayment::Element::CardDecline::NetworkDetails::Visa::StandInProcessingReason + Increase::CardPayment::Element::CardFinancial::NetworkDetails::Visa::StandInProcessingReason }, nil?: true # @!method initialize(electronic_commerce_indicator:, point_of_service_entry_mode:, stand_in_processing_reason:) # Some parameter documentations has been truncated, see - # {Increase::Models::CardPayment::Element::CardDecline::NetworkDetails::Visa} for - # more details. + # {Increase::Models::CardPayment::Element::CardFinancial::NetworkDetails::Visa} + # for more details. # # Fields specific to the `visa` network. # - # @param electronic_commerce_indicator [Symbol, Increase::Models::CardPayment::Element::CardDecline::NetworkDetails::Visa::ElectronicCommerceIndicator, nil] For electronic commerce transactions, this identifies the level of security used + # @param electronic_commerce_indicator [Symbol, Increase::Models::CardPayment::Element::CardFinancial::NetworkDetails::Visa::ElectronicCommerceIndicator, nil] For electronic commerce transactions, this identifies the level of security used # - # @param point_of_service_entry_mode [Symbol, Increase::Models::CardPayment::Element::CardDecline::NetworkDetails::Visa::PointOfServiceEntryMode, nil] The method used to enter the cardholder's primary account number and card expira + # @param point_of_service_entry_mode [Symbol, Increase::Models::CardPayment::Element::CardFinancial::NetworkDetails::Visa::PointOfServiceEntryMode, nil] The method used to enter the cardholder's primary account number and card expira # - # @param stand_in_processing_reason [Symbol, Increase::Models::CardPayment::Element::CardDecline::NetworkDetails::Visa::StandInProcessingReason, nil] Only present when `actioner: network`. Describes why a card authorization was ap + # @param stand_in_processing_reason [Symbol, Increase::Models::CardPayment::Element::CardFinancial::NetworkDetails::Visa::StandInProcessingReason, nil] Only present when `actioner: network`. Describes why a card authorization was ap # For electronic commerce transactions, this identifies the level of security used # in obtaining the customer's payment credential. For mail or telephone order # transactions, identifies the type of mail or telephone order. # - # @see Increase::Models::CardPayment::Element::CardDecline::NetworkDetails::Visa#electronic_commerce_indicator + # @see Increase::Models::CardPayment::Element::CardFinancial::NetworkDetails::Visa#electronic_commerce_indicator module ElectronicCommerceIndicator extend Increase::Internal::Type::Enum @@ -2801,7 +4067,7 @@ module ElectronicCommerceIndicator # The method used to enter the cardholder's primary account number and card # expiration date. # - # @see Increase::Models::CardPayment::Element::CardDecline::NetworkDetails::Visa#point_of_service_entry_mode + # @see Increase::Models::CardPayment::Element::CardFinancial::NetworkDetails::Visa#point_of_service_entry_mode module PointOfServiceEntryMode extend Increase::Internal::Type::Enum @@ -2842,7 +4108,7 @@ module PointOfServiceEntryMode # Only present when `actioner: network`. Describes why a card authorization was # approved or declined by Visa through stand-in processing. # - # @see Increase::Models::CardPayment::Element::CardDecline::NetworkDetails::Visa#stand_in_processing_reason + # @see Increase::Models::CardPayment::Element::CardFinancial::NetworkDetails::Visa#stand_in_processing_reason module StandInProcessingReason extend Increase::Internal::Type::Enum @@ -2875,7 +4141,7 @@ module StandInProcessingReason end end - # @see Increase::Models::CardPayment::Element::CardDecline#network_identifiers + # @see Increase::Models::CardPayment::Element::CardFinancial#network_identifiers class NetworkIdentifiers < Increase::Internal::Type::BaseModel # @!attribute authorization_identification_response # The randomly generated 6-character Authorization Identification Response code @@ -2908,7 +4174,7 @@ class NetworkIdentifiers < Increase::Internal::Type::BaseModel # @!method initialize(authorization_identification_response:, retrieval_reference_number:, trace_number:, transaction_id:) # Some parameter documentations has been truncated, see - # {Increase::Models::CardPayment::Element::CardDecline::NetworkIdentifiers} for + # {Increase::Models::CardPayment::Element::CardFinancial::NetworkIdentifiers} for # more details. # # Network-specific identifiers for a specific request or transaction. @@ -2922,10 +4188,10 @@ class NetworkIdentifiers < Increase::Internal::Type::BaseModel # @param transaction_id [String, nil] A globally unique transaction identifier provided by the card network, used acro end - # The processing category describes the intent behind the authorization, such as + # The processing category describes the intent behind the financial, such as # whether it was used for bill payments or an automatic fuel dispenser. # - # @see Increase::Models::CardPayment::Element::CardDecline#processing_category + # @see Increase::Models::CardPayment::Element::CardFinancial#processing_category module ProcessingCategory extend Increase::Internal::Type::Enum @@ -2960,152 +4226,66 @@ module ProcessingCategory # @return [Array] end - # This is present if a specific decline reason was given in the real-time - # decision. - # - # @see Increase::Models::CardPayment::Element::CardDecline#real_time_decision_reason - module RealTimeDecisionReason - extend Increase::Internal::Type::Enum - - # The cardholder does not have sufficient funds to cover the transaction. The merchant may attempt to process the transaction again. - INSUFFICIENT_FUNDS = :insufficient_funds - - # This type of transaction is not allowed for this card. This transaction should not be retried. - TRANSACTION_NEVER_ALLOWED = :transaction_never_allowed - - # The transaction amount exceeds the cardholder's approval limit. The merchant may attempt to process the transaction again. - EXCEEDS_APPROVAL_LIMIT = :exceeds_approval_limit - - # The card has been temporarily disabled or not yet activated. The merchant may attempt to process the transaction again. - CARD_TEMPORARILY_DISABLED = :card_temporarily_disabled - - # The transaction is suspected to be fraudulent. The merchant may attempt to process the transaction again. - SUSPECTED_FRAUD = :suspected_fraud - - # The transaction was declined for another reason. The merchant may attempt to process the transaction again. This should be used sparingly. - OTHER = :other - - # @!method self.values - # @return [Array] - end - - # Why the transaction was declined. + # A constant representing the object's type. For this resource it will always be + # `card_financial`. # - # @see Increase::Models::CardPayment::Element::CardDecline#reason - module Reason + # @see Increase::Models::CardPayment::Element::CardFinancial#type + module Type extend Increase::Internal::Type::Enum - # The account has been closed. - ACCOUNT_CLOSED = :account_closed - - # The Card was not active. - CARD_NOT_ACTIVE = :card_not_active - - # The Card has been canceled. - CARD_CANCELED = :card_canceled - - # The Physical Card was not active. - PHYSICAL_CARD_NOT_ACTIVE = :physical_card_not_active - - # The account's entity was not active. - ENTITY_NOT_ACTIVE = :entity_not_active - - # The account was inactive. - GROUP_LOCKED = :group_locked - - # The Card's Account did not have a sufficient available balance. - INSUFFICIENT_FUNDS = :insufficient_funds - - # The given CVV2 did not match the card's value. - CVV2_MISMATCH = :cvv2_mismatch - - # The given PIN did not match the card's value. - PIN_MISMATCH = :pin_mismatch - - # The given expiration date did not match the card's value. Only applies when a CVV2 is present. - CARD_EXPIRATION_MISMATCH = :card_expiration_mismatch - - # The attempted card transaction is not allowed per Increase's terms. - TRANSACTION_NOT_ALLOWED = :transaction_not_allowed - - # The transaction was blocked by a Limit. - BREACHES_LIMIT = :breaches_limit - - # Your application declined the transaction via webhook. - WEBHOOK_DECLINED = :webhook_declined - - # Your application webhook did not respond without the required timeout. - WEBHOOK_TIMED_OUT = :webhook_timed_out - - # Declined by stand-in processing. - DECLINED_BY_STAND_IN_PROCESSING = :declined_by_stand_in_processing - - # The card read had an invalid CVV, dCVV, or authorization request cryptogram. - INVALID_PHYSICAL_CARD = :invalid_physical_card - - # The original card authorization for this incremental authorization does not exist. - MISSING_ORIGINAL_AUTHORIZATION = :missing_original_authorization - - # The transaction was declined because the 3DS authentication failed. - FAILED_3DS_AUTHENTICATION = :failed_3ds_authentication - - # The transaction was suspected to be used by a card tester to test for valid card numbers. - SUSPECTED_CARD_TESTING = :suspected_card_testing - - # The transaction was suspected to be fraudulent. Please reach out to support@increase.com for more information. - SUSPECTED_FRAUD = :suspected_fraud + CARD_FINANCIAL = :card_financial # @!method self.values # @return [Array] end - # @see Increase::Models::CardPayment::Element::CardDecline#verification + # @see Increase::Models::CardPayment::Element::CardFinancial#verification class Verification < Increase::Internal::Type::BaseModel # @!attribute card_verification_code # Fields related to verification of the Card Verification Code, a 3-digit code on # the back of the card. # - # @return [Increase::Models::CardPayment::Element::CardDecline::Verification::CardVerificationCode] + # @return [Increase::Models::CardPayment::Element::CardFinancial::Verification::CardVerificationCode] required :card_verification_code, - -> { Increase::CardPayment::Element::CardDecline::Verification::CardVerificationCode } + -> { Increase::CardPayment::Element::CardFinancial::Verification::CardVerificationCode } # @!attribute cardholder_address # Cardholder address provided in the authorization request and the address on file # we verified it against. # - # @return [Increase::Models::CardPayment::Element::CardDecline::Verification::CardholderAddress] + # @return [Increase::Models::CardPayment::Element::CardFinancial::Verification::CardholderAddress] required :cardholder_address, - -> { Increase::CardPayment::Element::CardDecline::Verification::CardholderAddress } + -> { Increase::CardPayment::Element::CardFinancial::Verification::CardholderAddress } # @!method initialize(card_verification_code:, cardholder_address:) # Some parameter documentations has been truncated, see - # {Increase::Models::CardPayment::Element::CardDecline::Verification} for more + # {Increase::Models::CardPayment::Element::CardFinancial::Verification} for more # details. # # Fields related to verification of cardholder-provided values. # - # @param card_verification_code [Increase::Models::CardPayment::Element::CardDecline::Verification::CardVerificationCode] Fields related to verification of the Card Verification Code, a 3-digit code on + # @param card_verification_code [Increase::Models::CardPayment::Element::CardFinancial::Verification::CardVerificationCode] Fields related to verification of the Card Verification Code, a 3-digit code on # - # @param cardholder_address [Increase::Models::CardPayment::Element::CardDecline::Verification::CardholderAddress] Cardholder address provided in the authorization request and the address on file + # @param cardholder_address [Increase::Models::CardPayment::Element::CardFinancial::Verification::CardholderAddress] Cardholder address provided in the authorization request and the address on file - # @see Increase::Models::CardPayment::Element::CardDecline::Verification#card_verification_code + # @see Increase::Models::CardPayment::Element::CardFinancial::Verification#card_verification_code class CardVerificationCode < Increase::Internal::Type::BaseModel # @!attribute result # The result of verifying the Card Verification Code. # - # @return [Symbol, Increase::Models::CardPayment::Element::CardDecline::Verification::CardVerificationCode::Result] + # @return [Symbol, Increase::Models::CardPayment::Element::CardFinancial::Verification::CardVerificationCode::Result] required :result, - enum: -> { Increase::CardPayment::Element::CardDecline::Verification::CardVerificationCode::Result } + enum: -> { Increase::CardPayment::Element::CardFinancial::Verification::CardVerificationCode::Result } # @!method initialize(result:) # Fields related to verification of the Card Verification Code, a 3-digit code on # the back of the card. # - # @param result [Symbol, Increase::Models::CardPayment::Element::CardDecline::Verification::CardVerificationCode::Result] The result of verifying the Card Verification Code. + # @param result [Symbol, Increase::Models::CardPayment::Element::CardFinancial::Verification::CardVerificationCode::Result] The result of verifying the Card Verification Code. # The result of verifying the Card Verification Code. # - # @see Increase::Models::CardPayment::Element::CardDecline::Verification::CardVerificationCode#result + # @see Increase::Models::CardPayment::Element::CardFinancial::Verification::CardVerificationCode#result module Result extend Increase::Internal::Type::Enum @@ -3123,7 +4303,7 @@ module Result end end - # @see Increase::Models::CardPayment::Element::CardDecline::Verification#cardholder_address + # @see Increase::Models::CardPayment::Element::CardFinancial::Verification#cardholder_address class CardholderAddress < Increase::Internal::Type::BaseModel # @!attribute actual_line1 # Line 1 of the address on file for the cardholder. @@ -3153,13 +4333,13 @@ class CardholderAddress < Increase::Internal::Type::BaseModel # @!attribute result # The address verification result returned to the card network. # - # @return [Symbol, Increase::Models::CardPayment::Element::CardDecline::Verification::CardholderAddress::Result] + # @return [Symbol, Increase::Models::CardPayment::Element::CardFinancial::Verification::CardholderAddress::Result] required :result, - enum: -> { Increase::CardPayment::Element::CardDecline::Verification::CardholderAddress::Result } + enum: -> { Increase::CardPayment::Element::CardFinancial::Verification::CardholderAddress::Result } # @!method initialize(actual_line1:, actual_postal_code:, provided_line1:, provided_postal_code:, result:) # Some parameter documentations has been truncated, see - # {Increase::Models::CardPayment::Element::CardDecline::Verification::CardholderAddress} + # {Increase::Models::CardPayment::Element::CardFinancial::Verification::CardholderAddress} # for more details. # # Cardholder address provided in the authorization request and the address on file @@ -3173,11 +4353,11 @@ class CardholderAddress < Increase::Internal::Type::BaseModel # # @param provided_postal_code [String, nil] The postal code provided for verification in the authorization request. # - # @param result [Symbol, Increase::Models::CardPayment::Element::CardDecline::Verification::CardholderAddress::Result] The address verification result returned to the card network. + # @param result [Symbol, Increase::Models::CardPayment::Element::CardFinancial::Verification::CardholderAddress::Result] The address verification result returned to the card network. # The address verification result returned to the card network. # - # @see Increase::Models::CardPayment::Element::CardDecline::Verification::CardholderAddress#result + # @see Increase::Models::CardPayment::Element::CardFinancial::Verification::CardholderAddress#result module Result extend Increase::Internal::Type::Enum @@ -8291,6 +9471,9 @@ module Category # Card Fuel Confirmation: details will be under the `card_fuel_confirmation` object. CARD_FUEL_CONFIRMATION = :card_fuel_confirmation + # Card Financial: details will be under the `card_financial` object. + CARD_FINANCIAL = :card_financial + # Unknown card payment element. OTHER = :other diff --git a/lib/increase/version.rb b/lib/increase/version.rb index a46aebe8..232699f0 100644 --- a/lib/increase/version.rb +++ b/lib/increase/version.rb @@ -1,5 +1,5 @@ # frozen_string_literal: true module Increase - VERSION = "1.117.0" + VERSION = "1.118.0" end diff --git a/rbi/increase/models/card_payment.rbi b/rbi/increase/models/card_payment.rbi index 853f18a2..9acaa946 100644 --- a/rbi/increase/models/card_payment.rbi +++ b/rbi/increase/models/card_payment.rbi @@ -185,6 +185,22 @@ module Increase end attr_writer :card_decline + # A Card Financial object. This field will be present in the JSON response if and + # only if `category` is equal to `card_financial`. Card Financials are temporary + # holds placed on a customers funds with the intent to later clear a transaction. + sig do + returns(T.nilable(Increase::CardPayment::Element::CardFinancial)) + end + attr_reader :card_financial + + sig do + params( + card_financial: + T.nilable(Increase::CardPayment::Element::CardFinancial::OrHash) + ).void + end + attr_writer :card_financial + # A Card Fuel Confirmation object. This field will be present in the JSON response # if and only if `category` is equal to `card_fuel_confirmation`. Card Fuel # Confirmations update the amount of a Card Authorization after a fuel pump @@ -318,6 +334,8 @@ module Increase ), card_decline: T.nilable(Increase::CardPayment::Element::CardDecline::OrHash), + card_financial: + T.nilable(Increase::CardPayment::Element::CardFinancial::OrHash), card_fuel_confirmation: T.nilable( Increase::CardPayment::Element::CardFuelConfirmation::OrHash @@ -355,6 +373,10 @@ module Increase # A Card Decline object. This field will be present in the JSON response if and # only if `category` is equal to `card_decline`. card_decline:, + # A Card Financial object. This field will be present in the JSON response if and + # only if `category` is equal to `card_financial`. Card Financials are temporary + # holds placed on a customers funds with the intent to later clear a transaction. + card_financial:, # A Card Fuel Confirmation object. This field will be present in the JSON response # if and only if `category` is equal to `card_fuel_confirmation`. Card Fuel # Confirmations update the amount of a Card Authorization after a fuel pump @@ -410,6 +432,8 @@ module Increase ), card_decline: T.nilable(Increase::CardPayment::Element::CardDecline), + card_financial: + T.nilable(Increase::CardPayment::Element::CardFinancial), card_fuel_confirmation: T.nilable(Increase::CardPayment::Element::CardFuelConfirmation), card_increment: @@ -5480,7 +5504,2436 @@ module Increase end end - # The processing category describes the intent behind the authorization, such as + # The processing category describes the intent behind the authorization, such as + # whether it was used for bill payments or an automatic fuel dispenser. + module ProcessingCategory + extend Increase::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Increase::CardPayment::Element::CardDecline::ProcessingCategory + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + # Account funding transactions are transactions used to e.g., fund an account or transfer funds between accounts. + ACCOUNT_FUNDING = + T.let( + :account_funding, + Increase::CardPayment::Element::CardDecline::ProcessingCategory::TaggedSymbol + ) + + # Automatic fuel dispenser authorizations occur when a card is used at a gas pump, prior to the actual transaction amount being known. They are followed by an advice message that updates the amount of the pending transaction. + AUTOMATIC_FUEL_DISPENSER = + T.let( + :automatic_fuel_dispenser, + Increase::CardPayment::Element::CardDecline::ProcessingCategory::TaggedSymbol + ) + + # A transaction used to pay a bill. + BILL_PAYMENT = + T.let( + :bill_payment, + Increase::CardPayment::Element::CardDecline::ProcessingCategory::TaggedSymbol + ) + + # Original credit transactions are used to send money to a cardholder. + ORIGINAL_CREDIT = + T.let( + :original_credit, + Increase::CardPayment::Element::CardDecline::ProcessingCategory::TaggedSymbol + ) + + # A regular purchase. + PURCHASE = + T.let( + :purchase, + Increase::CardPayment::Element::CardDecline::ProcessingCategory::TaggedSymbol + ) + + # Quasi-cash transactions represent purchases of items which may be convertible to cash. + QUASI_CASH = + T.let( + :quasi_cash, + Increase::CardPayment::Element::CardDecline::ProcessingCategory::TaggedSymbol + ) + + # A refund card authorization, sometimes referred to as a credit voucher authorization, where funds are credited to the cardholder. + REFUND = + T.let( + :refund, + Increase::CardPayment::Element::CardDecline::ProcessingCategory::TaggedSymbol + ) + + # Cash disbursement transactions are used to withdraw cash from an ATM or a point of sale. + CASH_DISBURSEMENT = + T.let( + :cash_disbursement, + Increase::CardPayment::Element::CardDecline::ProcessingCategory::TaggedSymbol + ) + + # The processing category is unknown. + UNKNOWN = + T.let( + :unknown, + Increase::CardPayment::Element::CardDecline::ProcessingCategory::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Increase::CardPayment::Element::CardDecline::ProcessingCategory::TaggedSymbol + ] + ) + end + def self.values + end + end + + # This is present if a specific decline reason was given in the real-time + # decision. + module RealTimeDecisionReason + extend Increase::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Increase::CardPayment::Element::CardDecline::RealTimeDecisionReason + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + # The cardholder does not have sufficient funds to cover the transaction. The merchant may attempt to process the transaction again. + INSUFFICIENT_FUNDS = + T.let( + :insufficient_funds, + Increase::CardPayment::Element::CardDecline::RealTimeDecisionReason::TaggedSymbol + ) + + # This type of transaction is not allowed for this card. This transaction should not be retried. + TRANSACTION_NEVER_ALLOWED = + T.let( + :transaction_never_allowed, + Increase::CardPayment::Element::CardDecline::RealTimeDecisionReason::TaggedSymbol + ) + + # The transaction amount exceeds the cardholder's approval limit. The merchant may attempt to process the transaction again. + EXCEEDS_APPROVAL_LIMIT = + T.let( + :exceeds_approval_limit, + Increase::CardPayment::Element::CardDecline::RealTimeDecisionReason::TaggedSymbol + ) + + # The card has been temporarily disabled or not yet activated. The merchant may attempt to process the transaction again. + CARD_TEMPORARILY_DISABLED = + T.let( + :card_temporarily_disabled, + Increase::CardPayment::Element::CardDecline::RealTimeDecisionReason::TaggedSymbol + ) + + # The transaction is suspected to be fraudulent. The merchant may attempt to process the transaction again. + SUSPECTED_FRAUD = + T.let( + :suspected_fraud, + Increase::CardPayment::Element::CardDecline::RealTimeDecisionReason::TaggedSymbol + ) + + # The transaction was declined for another reason. The merchant may attempt to process the transaction again. This should be used sparingly. + OTHER = + T.let( + :other, + Increase::CardPayment::Element::CardDecline::RealTimeDecisionReason::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Increase::CardPayment::Element::CardDecline::RealTimeDecisionReason::TaggedSymbol + ] + ) + end + def self.values + end + end + + # Why the transaction was declined. + module Reason + extend Increase::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Increase::CardPayment::Element::CardDecline::Reason + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + # The account has been closed. + ACCOUNT_CLOSED = + T.let( + :account_closed, + Increase::CardPayment::Element::CardDecline::Reason::TaggedSymbol + ) + + # The Card was not active. + CARD_NOT_ACTIVE = + T.let( + :card_not_active, + Increase::CardPayment::Element::CardDecline::Reason::TaggedSymbol + ) + + # The Card has been canceled. + CARD_CANCELED = + T.let( + :card_canceled, + Increase::CardPayment::Element::CardDecline::Reason::TaggedSymbol + ) + + # The Physical Card was not active. + PHYSICAL_CARD_NOT_ACTIVE = + T.let( + :physical_card_not_active, + Increase::CardPayment::Element::CardDecline::Reason::TaggedSymbol + ) + + # The account's entity was not active. + ENTITY_NOT_ACTIVE = + T.let( + :entity_not_active, + Increase::CardPayment::Element::CardDecline::Reason::TaggedSymbol + ) + + # The account was inactive. + GROUP_LOCKED = + T.let( + :group_locked, + Increase::CardPayment::Element::CardDecline::Reason::TaggedSymbol + ) + + # The Card's Account did not have a sufficient available balance. + INSUFFICIENT_FUNDS = + T.let( + :insufficient_funds, + Increase::CardPayment::Element::CardDecline::Reason::TaggedSymbol + ) + + # The given CVV2 did not match the card's value. + CVV2_MISMATCH = + T.let( + :cvv2_mismatch, + Increase::CardPayment::Element::CardDecline::Reason::TaggedSymbol + ) + + # The given PIN did not match the card's value. + PIN_MISMATCH = + T.let( + :pin_mismatch, + Increase::CardPayment::Element::CardDecline::Reason::TaggedSymbol + ) + + # The given expiration date did not match the card's value. Only applies when a CVV2 is present. + CARD_EXPIRATION_MISMATCH = + T.let( + :card_expiration_mismatch, + Increase::CardPayment::Element::CardDecline::Reason::TaggedSymbol + ) + + # The attempted card transaction is not allowed per Increase's terms. + TRANSACTION_NOT_ALLOWED = + T.let( + :transaction_not_allowed, + Increase::CardPayment::Element::CardDecline::Reason::TaggedSymbol + ) + + # The transaction was blocked by a Limit. + BREACHES_LIMIT = + T.let( + :breaches_limit, + Increase::CardPayment::Element::CardDecline::Reason::TaggedSymbol + ) + + # Your application declined the transaction via webhook. + WEBHOOK_DECLINED = + T.let( + :webhook_declined, + Increase::CardPayment::Element::CardDecline::Reason::TaggedSymbol + ) + + # Your application webhook did not respond without the required timeout. + WEBHOOK_TIMED_OUT = + T.let( + :webhook_timed_out, + Increase::CardPayment::Element::CardDecline::Reason::TaggedSymbol + ) + + # Declined by stand-in processing. + DECLINED_BY_STAND_IN_PROCESSING = + T.let( + :declined_by_stand_in_processing, + Increase::CardPayment::Element::CardDecline::Reason::TaggedSymbol + ) + + # The card read had an invalid CVV, dCVV, or authorization request cryptogram. + INVALID_PHYSICAL_CARD = + T.let( + :invalid_physical_card, + Increase::CardPayment::Element::CardDecline::Reason::TaggedSymbol + ) + + # The original card authorization for this incremental authorization does not exist. + MISSING_ORIGINAL_AUTHORIZATION = + T.let( + :missing_original_authorization, + Increase::CardPayment::Element::CardDecline::Reason::TaggedSymbol + ) + + # The transaction was declined because the 3DS authentication failed. + FAILED_3DS_AUTHENTICATION = + T.let( + :failed_3ds_authentication, + Increase::CardPayment::Element::CardDecline::Reason::TaggedSymbol + ) + + # The transaction was suspected to be used by a card tester to test for valid card numbers. + SUSPECTED_CARD_TESTING = + T.let( + :suspected_card_testing, + Increase::CardPayment::Element::CardDecline::Reason::TaggedSymbol + ) + + # The transaction was suspected to be fraudulent. Please reach out to support@increase.com for more information. + SUSPECTED_FRAUD = + T.let( + :suspected_fraud, + Increase::CardPayment::Element::CardDecline::Reason::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Increase::CardPayment::Element::CardDecline::Reason::TaggedSymbol + ] + ) + end + def self.values + end + end + + class Verification < Increase::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Increase::CardPayment::Element::CardDecline::Verification, + Increase::Internal::AnyHash + ) + end + + # Fields related to verification of the Card Verification Code, a 3-digit code on + # the back of the card. + sig do + returns( + Increase::CardPayment::Element::CardDecline::Verification::CardVerificationCode + ) + end + attr_reader :card_verification_code + + sig do + params( + card_verification_code: + Increase::CardPayment::Element::CardDecline::Verification::CardVerificationCode::OrHash + ).void + end + attr_writer :card_verification_code + + # Cardholder address provided in the authorization request and the address on file + # we verified it against. + sig do + returns( + Increase::CardPayment::Element::CardDecline::Verification::CardholderAddress + ) + end + attr_reader :cardholder_address + + sig do + params( + cardholder_address: + Increase::CardPayment::Element::CardDecline::Verification::CardholderAddress::OrHash + ).void + end + attr_writer :cardholder_address + + # Fields related to verification of cardholder-provided values. + sig do + params( + card_verification_code: + Increase::CardPayment::Element::CardDecline::Verification::CardVerificationCode::OrHash, + cardholder_address: + Increase::CardPayment::Element::CardDecline::Verification::CardholderAddress::OrHash + ).returns(T.attached_class) + end + def self.new( + # Fields related to verification of the Card Verification Code, a 3-digit code on + # the back of the card. + card_verification_code:, + # Cardholder address provided in the authorization request and the address on file + # we verified it against. + cardholder_address: + ) + end + + sig do + override.returns( + { + card_verification_code: + Increase::CardPayment::Element::CardDecline::Verification::CardVerificationCode, + cardholder_address: + Increase::CardPayment::Element::CardDecline::Verification::CardholderAddress + } + ) + end + def to_hash + end + + class CardVerificationCode < Increase::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Increase::CardPayment::Element::CardDecline::Verification::CardVerificationCode, + Increase::Internal::AnyHash + ) + end + + # The result of verifying the Card Verification Code. + sig do + returns( + Increase::CardPayment::Element::CardDecline::Verification::CardVerificationCode::Result::TaggedSymbol + ) + end + attr_accessor :result + + # Fields related to verification of the Card Verification Code, a 3-digit code on + # the back of the card. + sig do + params( + result: + Increase::CardPayment::Element::CardDecline::Verification::CardVerificationCode::Result::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # The result of verifying the Card Verification Code. + result: + ) + end + + sig do + override.returns( + { + result: + Increase::CardPayment::Element::CardDecline::Verification::CardVerificationCode::Result::TaggedSymbol + } + ) + end + def to_hash + end + + # The result of verifying the Card Verification Code. + module Result + extend Increase::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Increase::CardPayment::Element::CardDecline::Verification::CardVerificationCode::Result + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + # No card verification code was provided in the authorization request. + NOT_CHECKED = + T.let( + :not_checked, + Increase::CardPayment::Element::CardDecline::Verification::CardVerificationCode::Result::TaggedSymbol + ) + + # The card verification code matched the one on file. + MATCH = + T.let( + :match, + Increase::CardPayment::Element::CardDecline::Verification::CardVerificationCode::Result::TaggedSymbol + ) + + # The card verification code did not match the one on file. + NO_MATCH = + T.let( + :no_match, + Increase::CardPayment::Element::CardDecline::Verification::CardVerificationCode::Result::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Increase::CardPayment::Element::CardDecline::Verification::CardVerificationCode::Result::TaggedSymbol + ] + ) + end + def self.values + end + end + end + + class CardholderAddress < Increase::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Increase::CardPayment::Element::CardDecline::Verification::CardholderAddress, + Increase::Internal::AnyHash + ) + end + + # Line 1 of the address on file for the cardholder. + sig { returns(T.nilable(String)) } + attr_accessor :actual_line1 + + # The postal code of the address on file for the cardholder. + sig { returns(T.nilable(String)) } + attr_accessor :actual_postal_code + + # The cardholder address line 1 provided for verification in the authorization + # request. + sig { returns(T.nilable(String)) } + attr_accessor :provided_line1 + + # The postal code provided for verification in the authorization request. + sig { returns(T.nilable(String)) } + attr_accessor :provided_postal_code + + # The address verification result returned to the card network. + sig do + returns( + Increase::CardPayment::Element::CardDecline::Verification::CardholderAddress::Result::TaggedSymbol + ) + end + attr_accessor :result + + # Cardholder address provided in the authorization request and the address on file + # we verified it against. + sig do + params( + actual_line1: T.nilable(String), + actual_postal_code: T.nilable(String), + provided_line1: T.nilable(String), + provided_postal_code: T.nilable(String), + result: + Increase::CardPayment::Element::CardDecline::Verification::CardholderAddress::Result::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # Line 1 of the address on file for the cardholder. + actual_line1:, + # The postal code of the address on file for the cardholder. + actual_postal_code:, + # The cardholder address line 1 provided for verification in the authorization + # request. + provided_line1:, + # The postal code provided for verification in the authorization request. + provided_postal_code:, + # The address verification result returned to the card network. + result: + ) + end + + sig do + override.returns( + { + actual_line1: T.nilable(String), + actual_postal_code: T.nilable(String), + provided_line1: T.nilable(String), + provided_postal_code: T.nilable(String), + result: + Increase::CardPayment::Element::CardDecline::Verification::CardholderAddress::Result::TaggedSymbol + } + ) + end + def to_hash + end + + # The address verification result returned to the card network. + module Result + extend Increase::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Increase::CardPayment::Element::CardDecline::Verification::CardholderAddress::Result + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + # No address information was provided in the authorization request. + NOT_CHECKED = + T.let( + :not_checked, + Increase::CardPayment::Element::CardDecline::Verification::CardholderAddress::Result::TaggedSymbol + ) + + # Postal code matches, but the street address does not match or was not provided. + POSTAL_CODE_MATCH_ADDRESS_NO_MATCH = + T.let( + :postal_code_match_address_no_match, + Increase::CardPayment::Element::CardDecline::Verification::CardholderAddress::Result::TaggedSymbol + ) + + # Postal code does not match, but the street address matches or was not provided. + POSTAL_CODE_NO_MATCH_ADDRESS_MATCH = + T.let( + :postal_code_no_match_address_match, + Increase::CardPayment::Element::CardDecline::Verification::CardholderAddress::Result::TaggedSymbol + ) + + # Postal code and street address match. + MATCH = + T.let( + :match, + Increase::CardPayment::Element::CardDecline::Verification::CardholderAddress::Result::TaggedSymbol + ) + + # Postal code and street address do not match. + NO_MATCH = + T.let( + :no_match, + Increase::CardPayment::Element::CardDecline::Verification::CardholderAddress::Result::TaggedSymbol + ) + + # Postal code matches, but the street address was not verified. (deprecated) + POSTAL_CODE_MATCH_ADDRESS_NOT_CHECKED = + T.let( + :postal_code_match_address_not_checked, + Increase::CardPayment::Element::CardDecline::Verification::CardholderAddress::Result::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Increase::CardPayment::Element::CardDecline::Verification::CardholderAddress::Result::TaggedSymbol + ] + ) + end + def self.values + end + end + end + end + end + + class CardFinancial < Increase::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Increase::CardPayment::Element::CardFinancial, + Increase::Internal::AnyHash + ) + end + + # The Card Financial identifier. + sig { returns(String) } + attr_accessor :id + + # Whether this financial was approved by Increase, the card network through + # stand-in processing, or the user through a real-time decision. + sig do + returns( + Increase::CardPayment::Element::CardFinancial::Actioner::TaggedSymbol + ) + end + attr_accessor :actioner + + # Additional amounts associated with the card authorization, such as ATM + # surcharges fees. These are usually a subset of the `amount` field and are used + # to provide more detailed information about the transaction. + sig do + returns( + Increase::CardPayment::Element::CardFinancial::AdditionalAmounts + ) + end + attr_reader :additional_amounts + + sig do + params( + additional_amounts: + Increase::CardPayment::Element::CardFinancial::AdditionalAmounts::OrHash + ).void + end + attr_writer :additional_amounts + + # The pending amount in the minor unit of the transaction's currency. For dollars, + # for example, this is cents. + sig { returns(Integer) } + attr_accessor :amount + + # The ID of the Card Payment this transaction belongs to. + sig { returns(String) } + attr_accessor :card_payment_id + + # The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the + # transaction's currency. + sig do + returns( + Increase::CardPayment::Element::CardFinancial::Currency::TaggedSymbol + ) + end + attr_accessor :currency + + # If the authorization was made via a Digital Wallet Token (such as an Apple Pay + # purchase), the identifier of the token that was used. + sig { returns(T.nilable(String)) } + attr_accessor :digital_wallet_token_id + + # The direction describes the direction the funds will move, either from the + # cardholder to the merchant or from the merchant to the cardholder. + sig do + returns( + Increase::CardPayment::Element::CardFinancial::Direction::TaggedSymbol + ) + end + attr_accessor :direction + + # The merchant identifier (commonly abbreviated as MID) of the merchant the card + # is transacting with. + sig { returns(String) } + attr_accessor :merchant_acceptor_id + + # The Merchant Category Code (commonly abbreviated as MCC) of the merchant the + # card is transacting with. + sig { returns(String) } + attr_accessor :merchant_category_code + + # The city the merchant resides in. + sig { returns(T.nilable(String)) } + attr_accessor :merchant_city + + # The country the merchant resides in. + sig { returns(String) } + attr_accessor :merchant_country + + # The merchant descriptor of the merchant the card is transacting with. + sig { returns(String) } + attr_accessor :merchant_descriptor + + # The merchant's postal code. For US merchants this is either a 5-digit or 9-digit + # ZIP code, where the first 5 and last 4 are separated by a dash. + sig { returns(T.nilable(String)) } + attr_accessor :merchant_postal_code + + # The state the merchant resides in. + sig { returns(T.nilable(String)) } + attr_accessor :merchant_state + + # Fields specific to the `network`. + sig do + returns( + Increase::CardPayment::Element::CardFinancial::NetworkDetails + ) + end + attr_reader :network_details + + sig do + params( + network_details: + Increase::CardPayment::Element::CardFinancial::NetworkDetails::OrHash + ).void + end + attr_writer :network_details + + # Network-specific identifiers for a specific request or transaction. + sig do + returns( + Increase::CardPayment::Element::CardFinancial::NetworkIdentifiers + ) + end + attr_reader :network_identifiers + + sig do + params( + network_identifiers: + Increase::CardPayment::Element::CardFinancial::NetworkIdentifiers::OrHash + ).void + end + attr_writer :network_identifiers + + # The risk score generated by the card network. For Visa this is the Visa Advanced + # Authorization risk score, from 0 to 99, where 99 is the riskiest. For Pulse the + # score is from 0 to 999, where 999 is the riskiest. + sig { returns(T.nilable(Integer)) } + attr_accessor :network_risk_score + + # If the authorization was made in-person with a physical card, the Physical Card + # that was used. + sig { returns(T.nilable(String)) } + attr_accessor :physical_card_id + + # The pending amount in the minor unit of the transaction's presentment currency. + sig { returns(Integer) } + attr_accessor :presentment_amount + + # The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the + # transaction's presentment currency. + sig { returns(String) } + attr_accessor :presentment_currency + + # The processing category describes the intent behind the financial, such as + # whether it was used for bill payments or an automatic fuel dispenser. + sig do + returns( + Increase::CardPayment::Element::CardFinancial::ProcessingCategory::TaggedSymbol + ) + end + attr_accessor :processing_category + + # The identifier of the Real-Time Decision sent to approve or decline this + # transaction. + sig { returns(T.nilable(String)) } + attr_accessor :real_time_decision_id + + # The terminal identifier (commonly abbreviated as TID) of the terminal the card + # is transacting with. + sig { returns(T.nilable(String)) } + attr_accessor :terminal_id + + # The identifier of the Transaction associated with this Transaction. + sig { returns(String) } + attr_accessor :transaction_id + + # A constant representing the object's type. For this resource it will always be + # `card_financial`. + sig do + returns( + Increase::CardPayment::Element::CardFinancial::Type::TaggedSymbol + ) + end + attr_accessor :type + + # Fields related to verification of cardholder-provided values. + sig do + returns(Increase::CardPayment::Element::CardFinancial::Verification) + end + attr_reader :verification + + sig do + params( + verification: + Increase::CardPayment::Element::CardFinancial::Verification::OrHash + ).void + end + attr_writer :verification + + # A Card Financial object. This field will be present in the JSON response if and + # only if `category` is equal to `card_financial`. Card Financials are temporary + # holds placed on a customers funds with the intent to later clear a transaction. + sig do + params( + id: String, + actioner: + Increase::CardPayment::Element::CardFinancial::Actioner::OrSymbol, + additional_amounts: + Increase::CardPayment::Element::CardFinancial::AdditionalAmounts::OrHash, + amount: Integer, + card_payment_id: String, + currency: + Increase::CardPayment::Element::CardFinancial::Currency::OrSymbol, + digital_wallet_token_id: T.nilable(String), + direction: + Increase::CardPayment::Element::CardFinancial::Direction::OrSymbol, + merchant_acceptor_id: String, + merchant_category_code: String, + merchant_city: T.nilable(String), + merchant_country: String, + merchant_descriptor: String, + merchant_postal_code: T.nilable(String), + merchant_state: T.nilable(String), + network_details: + Increase::CardPayment::Element::CardFinancial::NetworkDetails::OrHash, + network_identifiers: + Increase::CardPayment::Element::CardFinancial::NetworkIdentifiers::OrHash, + network_risk_score: T.nilable(Integer), + physical_card_id: T.nilable(String), + presentment_amount: Integer, + presentment_currency: String, + processing_category: + Increase::CardPayment::Element::CardFinancial::ProcessingCategory::OrSymbol, + real_time_decision_id: T.nilable(String), + terminal_id: T.nilable(String), + transaction_id: String, + type: + Increase::CardPayment::Element::CardFinancial::Type::OrSymbol, + verification: + Increase::CardPayment::Element::CardFinancial::Verification::OrHash + ).returns(T.attached_class) + end + def self.new( + # The Card Financial identifier. + id:, + # Whether this financial was approved by Increase, the card network through + # stand-in processing, or the user through a real-time decision. + actioner:, + # Additional amounts associated with the card authorization, such as ATM + # surcharges fees. These are usually a subset of the `amount` field and are used + # to provide more detailed information about the transaction. + additional_amounts:, + # The pending amount in the minor unit of the transaction's currency. For dollars, + # for example, this is cents. + amount:, + # The ID of the Card Payment this transaction belongs to. + card_payment_id:, + # The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the + # transaction's currency. + currency:, + # If the authorization was made via a Digital Wallet Token (such as an Apple Pay + # purchase), the identifier of the token that was used. + digital_wallet_token_id:, + # The direction describes the direction the funds will move, either from the + # cardholder to the merchant or from the merchant to the cardholder. + direction:, + # The merchant identifier (commonly abbreviated as MID) of the merchant the card + # is transacting with. + merchant_acceptor_id:, + # The Merchant Category Code (commonly abbreviated as MCC) of the merchant the + # card is transacting with. + merchant_category_code:, + # The city the merchant resides in. + merchant_city:, + # The country the merchant resides in. + merchant_country:, + # The merchant descriptor of the merchant the card is transacting with. + merchant_descriptor:, + # The merchant's postal code. For US merchants this is either a 5-digit or 9-digit + # ZIP code, where the first 5 and last 4 are separated by a dash. + merchant_postal_code:, + # The state the merchant resides in. + merchant_state:, + # Fields specific to the `network`. + network_details:, + # Network-specific identifiers for a specific request or transaction. + network_identifiers:, + # The risk score generated by the card network. For Visa this is the Visa Advanced + # Authorization risk score, from 0 to 99, where 99 is the riskiest. For Pulse the + # score is from 0 to 999, where 999 is the riskiest. + network_risk_score:, + # If the authorization was made in-person with a physical card, the Physical Card + # that was used. + physical_card_id:, + # The pending amount in the minor unit of the transaction's presentment currency. + presentment_amount:, + # The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the + # transaction's presentment currency. + presentment_currency:, + # The processing category describes the intent behind the financial, such as + # whether it was used for bill payments or an automatic fuel dispenser. + processing_category:, + # The identifier of the Real-Time Decision sent to approve or decline this + # transaction. + real_time_decision_id:, + # The terminal identifier (commonly abbreviated as TID) of the terminal the card + # is transacting with. + terminal_id:, + # The identifier of the Transaction associated with this Transaction. + transaction_id:, + # A constant representing the object's type. For this resource it will always be + # `card_financial`. + type:, + # Fields related to verification of cardholder-provided values. + verification: + ) + end + + sig do + override.returns( + { + id: String, + actioner: + Increase::CardPayment::Element::CardFinancial::Actioner::TaggedSymbol, + additional_amounts: + Increase::CardPayment::Element::CardFinancial::AdditionalAmounts, + amount: Integer, + card_payment_id: String, + currency: + Increase::CardPayment::Element::CardFinancial::Currency::TaggedSymbol, + digital_wallet_token_id: T.nilable(String), + direction: + Increase::CardPayment::Element::CardFinancial::Direction::TaggedSymbol, + merchant_acceptor_id: String, + merchant_category_code: String, + merchant_city: T.nilable(String), + merchant_country: String, + merchant_descriptor: String, + merchant_postal_code: T.nilable(String), + merchant_state: T.nilable(String), + network_details: + Increase::CardPayment::Element::CardFinancial::NetworkDetails, + network_identifiers: + Increase::CardPayment::Element::CardFinancial::NetworkIdentifiers, + network_risk_score: T.nilable(Integer), + physical_card_id: T.nilable(String), + presentment_amount: Integer, + presentment_currency: String, + processing_category: + Increase::CardPayment::Element::CardFinancial::ProcessingCategory::TaggedSymbol, + real_time_decision_id: T.nilable(String), + terminal_id: T.nilable(String), + transaction_id: String, + type: + Increase::CardPayment::Element::CardFinancial::Type::TaggedSymbol, + verification: + Increase::CardPayment::Element::CardFinancial::Verification + } + ) + end + def to_hash + end + + # Whether this financial was approved by Increase, the card network through + # stand-in processing, or the user through a real-time decision. + module Actioner + extend Increase::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Increase::CardPayment::Element::CardFinancial::Actioner + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + # This object was actioned by the user through a real-time decision. + USER = + T.let( + :user, + Increase::CardPayment::Element::CardFinancial::Actioner::TaggedSymbol + ) + + # This object was actioned by Increase without user intervention. + INCREASE = + T.let( + :increase, + Increase::CardPayment::Element::CardFinancial::Actioner::TaggedSymbol + ) + + # This object was actioned by the network, through stand-in processing. + NETWORK = + T.let( + :network, + Increase::CardPayment::Element::CardFinancial::Actioner::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Increase::CardPayment::Element::CardFinancial::Actioner::TaggedSymbol + ] + ) + end + def self.values + end + end + + class AdditionalAmounts < Increase::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Increase::CardPayment::Element::CardFinancial::AdditionalAmounts, + Increase::Internal::AnyHash + ) + end + + # The part of this transaction amount that was for clinic-related services. + sig do + returns( + T.nilable( + Increase::CardPayment::Element::CardFinancial::AdditionalAmounts::Clinic + ) + ) + end + attr_reader :clinic + + sig do + params( + clinic: + T.nilable( + Increase::CardPayment::Element::CardFinancial::AdditionalAmounts::Clinic::OrHash + ) + ).void + end + attr_writer :clinic + + # The part of this transaction amount that was for dental-related services. + sig do + returns( + T.nilable( + Increase::CardPayment::Element::CardFinancial::AdditionalAmounts::Dental + ) + ) + end + attr_reader :dental + + sig do + params( + dental: + T.nilable( + Increase::CardPayment::Element::CardFinancial::AdditionalAmounts::Dental::OrHash + ) + ).void + end + attr_writer :dental + + # The original pre-authorized amount. + sig do + returns( + T.nilable( + Increase::CardPayment::Element::CardFinancial::AdditionalAmounts::Original + ) + ) + end + attr_reader :original + + sig do + params( + original: + T.nilable( + Increase::CardPayment::Element::CardFinancial::AdditionalAmounts::Original::OrHash + ) + ).void + end + attr_writer :original + + # The part of this transaction amount that was for healthcare prescriptions. + sig do + returns( + T.nilable( + Increase::CardPayment::Element::CardFinancial::AdditionalAmounts::Prescription + ) + ) + end + attr_reader :prescription + + sig do + params( + prescription: + T.nilable( + Increase::CardPayment::Element::CardFinancial::AdditionalAmounts::Prescription::OrHash + ) + ).void + end + attr_writer :prescription + + # The surcharge amount charged for this transaction by the merchant. + sig do + returns( + T.nilable( + Increase::CardPayment::Element::CardFinancial::AdditionalAmounts::Surcharge + ) + ) + end + attr_reader :surcharge + + sig do + params( + surcharge: + T.nilable( + Increase::CardPayment::Element::CardFinancial::AdditionalAmounts::Surcharge::OrHash + ) + ).void + end + attr_writer :surcharge + + # The total amount of a series of incremental authorizations, optionally provided. + sig do + returns( + T.nilable( + Increase::CardPayment::Element::CardFinancial::AdditionalAmounts::TotalCumulative + ) + ) + end + attr_reader :total_cumulative + + sig do + params( + total_cumulative: + T.nilable( + Increase::CardPayment::Element::CardFinancial::AdditionalAmounts::TotalCumulative::OrHash + ) + ).void + end + attr_writer :total_cumulative + + # The total amount of healthcare-related additional amounts. + sig do + returns( + T.nilable( + Increase::CardPayment::Element::CardFinancial::AdditionalAmounts::TotalHealthcare + ) + ) + end + attr_reader :total_healthcare + + sig do + params( + total_healthcare: + T.nilable( + Increase::CardPayment::Element::CardFinancial::AdditionalAmounts::TotalHealthcare::OrHash + ) + ).void + end + attr_writer :total_healthcare + + # The part of this transaction amount that was for transit-related services. + sig do + returns( + T.nilable( + Increase::CardPayment::Element::CardFinancial::AdditionalAmounts::Transit + ) + ) + end + attr_reader :transit + + sig do + params( + transit: + T.nilable( + Increase::CardPayment::Element::CardFinancial::AdditionalAmounts::Transit::OrHash + ) + ).void + end + attr_writer :transit + + # An unknown additional amount. + sig do + returns( + T.nilable( + Increase::CardPayment::Element::CardFinancial::AdditionalAmounts::Unknown + ) + ) + end + attr_reader :unknown + + sig do + params( + unknown: + T.nilable( + Increase::CardPayment::Element::CardFinancial::AdditionalAmounts::Unknown::OrHash + ) + ).void + end + attr_writer :unknown + + # The part of this transaction amount that was for vision-related services. + sig do + returns( + T.nilable( + Increase::CardPayment::Element::CardFinancial::AdditionalAmounts::Vision + ) + ) + end + attr_reader :vision + + sig do + params( + vision: + T.nilable( + Increase::CardPayment::Element::CardFinancial::AdditionalAmounts::Vision::OrHash + ) + ).void + end + attr_writer :vision + + # Additional amounts associated with the card authorization, such as ATM + # surcharges fees. These are usually a subset of the `amount` field and are used + # to provide more detailed information about the transaction. + sig do + params( + clinic: + T.nilable( + Increase::CardPayment::Element::CardFinancial::AdditionalAmounts::Clinic::OrHash + ), + dental: + T.nilable( + Increase::CardPayment::Element::CardFinancial::AdditionalAmounts::Dental::OrHash + ), + original: + T.nilable( + Increase::CardPayment::Element::CardFinancial::AdditionalAmounts::Original::OrHash + ), + prescription: + T.nilable( + Increase::CardPayment::Element::CardFinancial::AdditionalAmounts::Prescription::OrHash + ), + surcharge: + T.nilable( + Increase::CardPayment::Element::CardFinancial::AdditionalAmounts::Surcharge::OrHash + ), + total_cumulative: + T.nilable( + Increase::CardPayment::Element::CardFinancial::AdditionalAmounts::TotalCumulative::OrHash + ), + total_healthcare: + T.nilable( + Increase::CardPayment::Element::CardFinancial::AdditionalAmounts::TotalHealthcare::OrHash + ), + transit: + T.nilable( + Increase::CardPayment::Element::CardFinancial::AdditionalAmounts::Transit::OrHash + ), + unknown: + T.nilable( + Increase::CardPayment::Element::CardFinancial::AdditionalAmounts::Unknown::OrHash + ), + vision: + T.nilable( + Increase::CardPayment::Element::CardFinancial::AdditionalAmounts::Vision::OrHash + ) + ).returns(T.attached_class) + end + def self.new( + # The part of this transaction amount that was for clinic-related services. + clinic:, + # The part of this transaction amount that was for dental-related services. + dental:, + # The original pre-authorized amount. + original:, + # The part of this transaction amount that was for healthcare prescriptions. + prescription:, + # The surcharge amount charged for this transaction by the merchant. + surcharge:, + # The total amount of a series of incremental authorizations, optionally provided. + total_cumulative:, + # The total amount of healthcare-related additional amounts. + total_healthcare:, + # The part of this transaction amount that was for transit-related services. + transit:, + # An unknown additional amount. + unknown:, + # The part of this transaction amount that was for vision-related services. + vision: + ) + end + + sig do + override.returns( + { + clinic: + T.nilable( + Increase::CardPayment::Element::CardFinancial::AdditionalAmounts::Clinic + ), + dental: + T.nilable( + Increase::CardPayment::Element::CardFinancial::AdditionalAmounts::Dental + ), + original: + T.nilable( + Increase::CardPayment::Element::CardFinancial::AdditionalAmounts::Original + ), + prescription: + T.nilable( + Increase::CardPayment::Element::CardFinancial::AdditionalAmounts::Prescription + ), + surcharge: + T.nilable( + Increase::CardPayment::Element::CardFinancial::AdditionalAmounts::Surcharge + ), + total_cumulative: + T.nilable( + Increase::CardPayment::Element::CardFinancial::AdditionalAmounts::TotalCumulative + ), + total_healthcare: + T.nilable( + Increase::CardPayment::Element::CardFinancial::AdditionalAmounts::TotalHealthcare + ), + transit: + T.nilable( + Increase::CardPayment::Element::CardFinancial::AdditionalAmounts::Transit + ), + unknown: + T.nilable( + Increase::CardPayment::Element::CardFinancial::AdditionalAmounts::Unknown + ), + vision: + T.nilable( + Increase::CardPayment::Element::CardFinancial::AdditionalAmounts::Vision + ) + } + ) + end + def to_hash + end + + class Clinic < Increase::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Increase::CardPayment::Element::CardFinancial::AdditionalAmounts::Clinic, + Increase::Internal::AnyHash + ) + end + + # The amount in minor units of the `currency` field. The amount is positive if it + # is added to the amount (such as an ATM surcharge fee) and negative if it is + # subtracted from the amount (such as a discount). + sig { returns(Integer) } + attr_accessor :amount + + # The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the additional + # amount's currency. + sig { returns(String) } + attr_accessor :currency + + # The part of this transaction amount that was for clinic-related services. + sig do + params(amount: Integer, currency: String).returns( + T.attached_class + ) + end + def self.new( + # The amount in minor units of the `currency` field. The amount is positive if it + # is added to the amount (such as an ATM surcharge fee) and negative if it is + # subtracted from the amount (such as a discount). + amount:, + # The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the additional + # amount's currency. + currency: + ) + end + + sig { override.returns({ amount: Integer, currency: String }) } + def to_hash + end + end + + class Dental < Increase::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Increase::CardPayment::Element::CardFinancial::AdditionalAmounts::Dental, + Increase::Internal::AnyHash + ) + end + + # The amount in minor units of the `currency` field. The amount is positive if it + # is added to the amount (such as an ATM surcharge fee) and negative if it is + # subtracted from the amount (such as a discount). + sig { returns(Integer) } + attr_accessor :amount + + # The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the additional + # amount's currency. + sig { returns(String) } + attr_accessor :currency + + # The part of this transaction amount that was for dental-related services. + sig do + params(amount: Integer, currency: String).returns( + T.attached_class + ) + end + def self.new( + # The amount in minor units of the `currency` field. The amount is positive if it + # is added to the amount (such as an ATM surcharge fee) and negative if it is + # subtracted from the amount (such as a discount). + amount:, + # The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the additional + # amount's currency. + currency: + ) + end + + sig { override.returns({ amount: Integer, currency: String }) } + def to_hash + end + end + + class Original < Increase::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Increase::CardPayment::Element::CardFinancial::AdditionalAmounts::Original, + Increase::Internal::AnyHash + ) + end + + # The amount in minor units of the `currency` field. The amount is positive if it + # is added to the amount (such as an ATM surcharge fee) and negative if it is + # subtracted from the amount (such as a discount). + sig { returns(Integer) } + attr_accessor :amount + + # The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the additional + # amount's currency. + sig { returns(String) } + attr_accessor :currency + + # The original pre-authorized amount. + sig do + params(amount: Integer, currency: String).returns( + T.attached_class + ) + end + def self.new( + # The amount in minor units of the `currency` field. The amount is positive if it + # is added to the amount (such as an ATM surcharge fee) and negative if it is + # subtracted from the amount (such as a discount). + amount:, + # The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the additional + # amount's currency. + currency: + ) + end + + sig { override.returns({ amount: Integer, currency: String }) } + def to_hash + end + end + + class Prescription < Increase::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Increase::CardPayment::Element::CardFinancial::AdditionalAmounts::Prescription, + Increase::Internal::AnyHash + ) + end + + # The amount in minor units of the `currency` field. The amount is positive if it + # is added to the amount (such as an ATM surcharge fee) and negative if it is + # subtracted from the amount (such as a discount). + sig { returns(Integer) } + attr_accessor :amount + + # The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the additional + # amount's currency. + sig { returns(String) } + attr_accessor :currency + + # The part of this transaction amount that was for healthcare prescriptions. + sig do + params(amount: Integer, currency: String).returns( + T.attached_class + ) + end + def self.new( + # The amount in minor units of the `currency` field. The amount is positive if it + # is added to the amount (such as an ATM surcharge fee) and negative if it is + # subtracted from the amount (such as a discount). + amount:, + # The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the additional + # amount's currency. + currency: + ) + end + + sig { override.returns({ amount: Integer, currency: String }) } + def to_hash + end + end + + class Surcharge < Increase::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Increase::CardPayment::Element::CardFinancial::AdditionalAmounts::Surcharge, + Increase::Internal::AnyHash + ) + end + + # The amount in minor units of the `currency` field. The amount is positive if it + # is added to the amount (such as an ATM surcharge fee) and negative if it is + # subtracted from the amount (such as a discount). + sig { returns(Integer) } + attr_accessor :amount + + # The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the additional + # amount's currency. + sig { returns(String) } + attr_accessor :currency + + # The surcharge amount charged for this transaction by the merchant. + sig do + params(amount: Integer, currency: String).returns( + T.attached_class + ) + end + def self.new( + # The amount in minor units of the `currency` field. The amount is positive if it + # is added to the amount (such as an ATM surcharge fee) and negative if it is + # subtracted from the amount (such as a discount). + amount:, + # The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the additional + # amount's currency. + currency: + ) + end + + sig { override.returns({ amount: Integer, currency: String }) } + def to_hash + end + end + + class TotalCumulative < Increase::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Increase::CardPayment::Element::CardFinancial::AdditionalAmounts::TotalCumulative, + Increase::Internal::AnyHash + ) + end + + # The amount in minor units of the `currency` field. The amount is positive if it + # is added to the amount (such as an ATM surcharge fee) and negative if it is + # subtracted from the amount (such as a discount). + sig { returns(Integer) } + attr_accessor :amount + + # The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the additional + # amount's currency. + sig { returns(String) } + attr_accessor :currency + + # The total amount of a series of incremental authorizations, optionally provided. + sig do + params(amount: Integer, currency: String).returns( + T.attached_class + ) + end + def self.new( + # The amount in minor units of the `currency` field. The amount is positive if it + # is added to the amount (such as an ATM surcharge fee) and negative if it is + # subtracted from the amount (such as a discount). + amount:, + # The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the additional + # amount's currency. + currency: + ) + end + + sig { override.returns({ amount: Integer, currency: String }) } + def to_hash + end + end + + class TotalHealthcare < Increase::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Increase::CardPayment::Element::CardFinancial::AdditionalAmounts::TotalHealthcare, + Increase::Internal::AnyHash + ) + end + + # The amount in minor units of the `currency` field. The amount is positive if it + # is added to the amount (such as an ATM surcharge fee) and negative if it is + # subtracted from the amount (such as a discount). + sig { returns(Integer) } + attr_accessor :amount + + # The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the additional + # amount's currency. + sig { returns(String) } + attr_accessor :currency + + # The total amount of healthcare-related additional amounts. + sig do + params(amount: Integer, currency: String).returns( + T.attached_class + ) + end + def self.new( + # The amount in minor units of the `currency` field. The amount is positive if it + # is added to the amount (such as an ATM surcharge fee) and negative if it is + # subtracted from the amount (such as a discount). + amount:, + # The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the additional + # amount's currency. + currency: + ) + end + + sig { override.returns({ amount: Integer, currency: String }) } + def to_hash + end + end + + class Transit < Increase::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Increase::CardPayment::Element::CardFinancial::AdditionalAmounts::Transit, + Increase::Internal::AnyHash + ) + end + + # The amount in minor units of the `currency` field. The amount is positive if it + # is added to the amount (such as an ATM surcharge fee) and negative if it is + # subtracted from the amount (such as a discount). + sig { returns(Integer) } + attr_accessor :amount + + # The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the additional + # amount's currency. + sig { returns(String) } + attr_accessor :currency + + # The part of this transaction amount that was for transit-related services. + sig do + params(amount: Integer, currency: String).returns( + T.attached_class + ) + end + def self.new( + # The amount in minor units of the `currency` field. The amount is positive if it + # is added to the amount (such as an ATM surcharge fee) and negative if it is + # subtracted from the amount (such as a discount). + amount:, + # The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the additional + # amount's currency. + currency: + ) + end + + sig { override.returns({ amount: Integer, currency: String }) } + def to_hash + end + end + + class Unknown < Increase::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Increase::CardPayment::Element::CardFinancial::AdditionalAmounts::Unknown, + Increase::Internal::AnyHash + ) + end + + # The amount in minor units of the `currency` field. The amount is positive if it + # is added to the amount (such as an ATM surcharge fee) and negative if it is + # subtracted from the amount (such as a discount). + sig { returns(Integer) } + attr_accessor :amount + + # The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the additional + # amount's currency. + sig { returns(String) } + attr_accessor :currency + + # An unknown additional amount. + sig do + params(amount: Integer, currency: String).returns( + T.attached_class + ) + end + def self.new( + # The amount in minor units of the `currency` field. The amount is positive if it + # is added to the amount (such as an ATM surcharge fee) and negative if it is + # subtracted from the amount (such as a discount). + amount:, + # The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the additional + # amount's currency. + currency: + ) + end + + sig { override.returns({ amount: Integer, currency: String }) } + def to_hash + end + end + + class Vision < Increase::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Increase::CardPayment::Element::CardFinancial::AdditionalAmounts::Vision, + Increase::Internal::AnyHash + ) + end + + # The amount in minor units of the `currency` field. The amount is positive if it + # is added to the amount (such as an ATM surcharge fee) and negative if it is + # subtracted from the amount (such as a discount). + sig { returns(Integer) } + attr_accessor :amount + + # The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the additional + # amount's currency. + sig { returns(String) } + attr_accessor :currency + + # The part of this transaction amount that was for vision-related services. + sig do + params(amount: Integer, currency: String).returns( + T.attached_class + ) + end + def self.new( + # The amount in minor units of the `currency` field. The amount is positive if it + # is added to the amount (such as an ATM surcharge fee) and negative if it is + # subtracted from the amount (such as a discount). + amount:, + # The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the additional + # amount's currency. + currency: + ) + end + + sig { override.returns({ amount: Integer, currency: String }) } + def to_hash + end + end + end + + # The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the + # transaction's currency. + module Currency + extend Increase::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Increase::CardPayment::Element::CardFinancial::Currency + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + # Canadian Dollar (CAD) + CAD = + T.let( + :CAD, + Increase::CardPayment::Element::CardFinancial::Currency::TaggedSymbol + ) + + # Swiss Franc (CHF) + CHF = + T.let( + :CHF, + Increase::CardPayment::Element::CardFinancial::Currency::TaggedSymbol + ) + + # Euro (EUR) + EUR = + T.let( + :EUR, + Increase::CardPayment::Element::CardFinancial::Currency::TaggedSymbol + ) + + # British Pound (GBP) + GBP = + T.let( + :GBP, + Increase::CardPayment::Element::CardFinancial::Currency::TaggedSymbol + ) + + # Japanese Yen (JPY) + JPY = + T.let( + :JPY, + Increase::CardPayment::Element::CardFinancial::Currency::TaggedSymbol + ) + + # US Dollar (USD) + USD = + T.let( + :USD, + Increase::CardPayment::Element::CardFinancial::Currency::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Increase::CardPayment::Element::CardFinancial::Currency::TaggedSymbol + ] + ) + end + def self.values + end + end + + # The direction describes the direction the funds will move, either from the + # cardholder to the merchant or from the merchant to the cardholder. + module Direction + extend Increase::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Increase::CardPayment::Element::CardFinancial::Direction + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + # A regular card authorization where funds are debited from the cardholder. + SETTLEMENT = + T.let( + :settlement, + Increase::CardPayment::Element::CardFinancial::Direction::TaggedSymbol + ) + + # A refund card authorization, sometimes referred to as a credit voucher authorization, where funds are credited to the cardholder. + REFUND = + T.let( + :refund, + Increase::CardPayment::Element::CardFinancial::Direction::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Increase::CardPayment::Element::CardFinancial::Direction::TaggedSymbol + ] + ) + end + def self.values + end + end + + class NetworkDetails < Increase::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Increase::CardPayment::Element::CardFinancial::NetworkDetails, + Increase::Internal::AnyHash + ) + end + + # The payment network used to process this card authorization. + sig do + returns( + Increase::CardPayment::Element::CardFinancial::NetworkDetails::Category::TaggedSymbol + ) + end + attr_accessor :category + + # Fields specific to the `pulse` network. + sig { returns(T.nilable(T.anything)) } + attr_accessor :pulse + + # Fields specific to the `visa` network. + sig do + returns( + T.nilable( + Increase::CardPayment::Element::CardFinancial::NetworkDetails::Visa + ) + ) + end + attr_reader :visa + + sig do + params( + visa: + T.nilable( + Increase::CardPayment::Element::CardFinancial::NetworkDetails::Visa::OrHash + ) + ).void + end + attr_writer :visa + + # Fields specific to the `network`. + sig do + params( + category: + Increase::CardPayment::Element::CardFinancial::NetworkDetails::Category::OrSymbol, + pulse: T.nilable(T.anything), + visa: + T.nilable( + Increase::CardPayment::Element::CardFinancial::NetworkDetails::Visa::OrHash + ) + ).returns(T.attached_class) + end + def self.new( + # The payment network used to process this card authorization. + category:, + # Fields specific to the `pulse` network. + pulse:, + # Fields specific to the `visa` network. + visa: + ) + end + + sig do + override.returns( + { + category: + Increase::CardPayment::Element::CardFinancial::NetworkDetails::Category::TaggedSymbol, + pulse: T.nilable(T.anything), + visa: + T.nilable( + Increase::CardPayment::Element::CardFinancial::NetworkDetails::Visa + ) + } + ) + end + def to_hash + end + + # The payment network used to process this card authorization. + module Category + extend Increase::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Increase::CardPayment::Element::CardFinancial::NetworkDetails::Category + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + # Visa + VISA = + T.let( + :visa, + Increase::CardPayment::Element::CardFinancial::NetworkDetails::Category::TaggedSymbol + ) + + # Pulse + PULSE = + T.let( + :pulse, + Increase::CardPayment::Element::CardFinancial::NetworkDetails::Category::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Increase::CardPayment::Element::CardFinancial::NetworkDetails::Category::TaggedSymbol + ] + ) + end + def self.values + end + end + + class Visa < Increase::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Increase::CardPayment::Element::CardFinancial::NetworkDetails::Visa, + Increase::Internal::AnyHash + ) + end + + # For electronic commerce transactions, this identifies the level of security used + # in obtaining the customer's payment credential. For mail or telephone order + # transactions, identifies the type of mail or telephone order. + sig do + returns( + T.nilable( + Increase::CardPayment::Element::CardFinancial::NetworkDetails::Visa::ElectronicCommerceIndicator::TaggedSymbol + ) + ) + end + attr_accessor :electronic_commerce_indicator + + # The method used to enter the cardholder's primary account number and card + # expiration date. + sig do + returns( + T.nilable( + Increase::CardPayment::Element::CardFinancial::NetworkDetails::Visa::PointOfServiceEntryMode::TaggedSymbol + ) + ) + end + attr_accessor :point_of_service_entry_mode + + # Only present when `actioner: network`. Describes why a card authorization was + # approved or declined by Visa through stand-in processing. + sig do + returns( + T.nilable( + Increase::CardPayment::Element::CardFinancial::NetworkDetails::Visa::StandInProcessingReason::TaggedSymbol + ) + ) + end + attr_accessor :stand_in_processing_reason + + # Fields specific to the `visa` network. + sig do + params( + electronic_commerce_indicator: + T.nilable( + Increase::CardPayment::Element::CardFinancial::NetworkDetails::Visa::ElectronicCommerceIndicator::OrSymbol + ), + point_of_service_entry_mode: + T.nilable( + Increase::CardPayment::Element::CardFinancial::NetworkDetails::Visa::PointOfServiceEntryMode::OrSymbol + ), + stand_in_processing_reason: + T.nilable( + Increase::CardPayment::Element::CardFinancial::NetworkDetails::Visa::StandInProcessingReason::OrSymbol + ) + ).returns(T.attached_class) + end + def self.new( + # For electronic commerce transactions, this identifies the level of security used + # in obtaining the customer's payment credential. For mail or telephone order + # transactions, identifies the type of mail or telephone order. + electronic_commerce_indicator:, + # The method used to enter the cardholder's primary account number and card + # expiration date. + point_of_service_entry_mode:, + # Only present when `actioner: network`. Describes why a card authorization was + # approved or declined by Visa through stand-in processing. + stand_in_processing_reason: + ) + end + + sig do + override.returns( + { + electronic_commerce_indicator: + T.nilable( + Increase::CardPayment::Element::CardFinancial::NetworkDetails::Visa::ElectronicCommerceIndicator::TaggedSymbol + ), + point_of_service_entry_mode: + T.nilable( + Increase::CardPayment::Element::CardFinancial::NetworkDetails::Visa::PointOfServiceEntryMode::TaggedSymbol + ), + stand_in_processing_reason: + T.nilable( + Increase::CardPayment::Element::CardFinancial::NetworkDetails::Visa::StandInProcessingReason::TaggedSymbol + ) + } + ) + end + def to_hash + end + + # For electronic commerce transactions, this identifies the level of security used + # in obtaining the customer's payment credential. For mail or telephone order + # transactions, identifies the type of mail or telephone order. + module ElectronicCommerceIndicator + extend Increase::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Increase::CardPayment::Element::CardFinancial::NetworkDetails::Visa::ElectronicCommerceIndicator + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + # Single transaction of a mail/phone order: Use to indicate that the transaction is a mail/phone order purchase, not a recurring transaction or installment payment. For domestic transactions in the US region, this value may also indicate one bill payment transaction in the card-present or card-absent environments. + MAIL_PHONE_ORDER = + T.let( + :mail_phone_order, + Increase::CardPayment::Element::CardFinancial::NetworkDetails::Visa::ElectronicCommerceIndicator::TaggedSymbol + ) + + # Recurring transaction: Payment indicator used to indicate a recurring transaction that originates from an acquirer in the US region. + RECURRING = + T.let( + :recurring, + Increase::CardPayment::Element::CardFinancial::NetworkDetails::Visa::ElectronicCommerceIndicator::TaggedSymbol + ) + + # Installment payment: Payment indicator used to indicate one purchase of goods or services that is billed to the account in multiple charges over a period of time agreed upon by the cardholder and merchant from transactions that originate from an acquirer in the US region. + INSTALLMENT = + T.let( + :installment, + Increase::CardPayment::Element::CardFinancial::NetworkDetails::Visa::ElectronicCommerceIndicator::TaggedSymbol + ) + + # Unknown classification: other mail order: Use to indicate that the type of mail/telephone order is unknown. + UNKNOWN_MAIL_PHONE_ORDER = + T.let( + :unknown_mail_phone_order, + Increase::CardPayment::Element::CardFinancial::NetworkDetails::Visa::ElectronicCommerceIndicator::TaggedSymbol + ) + + # Secure electronic commerce transaction: Use to indicate that the electronic commerce transaction has been authenticated using e.g., 3-D Secure + SECURE_ELECTRONIC_COMMERCE = + T.let( + :secure_electronic_commerce, + Increase::CardPayment::Element::CardFinancial::NetworkDetails::Visa::ElectronicCommerceIndicator::TaggedSymbol + ) + + # Non-authenticated security transaction at a 3-D Secure-capable merchant, and merchant attempted to authenticate the cardholder using 3-D Secure: Use to identify an electronic commerce transaction where the merchant attempted to authenticate the cardholder using 3-D Secure, but was unable to complete the authentication because the issuer or cardholder does not participate in the 3-D Secure program. + NON_AUTHENTICATED_SECURITY_TRANSACTION_AT_3DS_CAPABLE_MERCHANT = + T.let( + :non_authenticated_security_transaction_at_3ds_capable_merchant, + Increase::CardPayment::Element::CardFinancial::NetworkDetails::Visa::ElectronicCommerceIndicator::TaggedSymbol + ) + + # Non-authenticated security transaction: Use to identify an electronic commerce transaction that uses data encryption for security however, cardholder authentication is not performed using 3-D Secure. + NON_AUTHENTICATED_SECURITY_TRANSACTION = + T.let( + :non_authenticated_security_transaction, + Increase::CardPayment::Element::CardFinancial::NetworkDetails::Visa::ElectronicCommerceIndicator::TaggedSymbol + ) + + # Non-secure transaction: Use to identify an electronic commerce transaction that has no data protection. + NON_SECURE_TRANSACTION = + T.let( + :non_secure_transaction, + Increase::CardPayment::Element::CardFinancial::NetworkDetails::Visa::ElectronicCommerceIndicator::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Increase::CardPayment::Element::CardFinancial::NetworkDetails::Visa::ElectronicCommerceIndicator::TaggedSymbol + ] + ) + end + def self.values + end + end + + # The method used to enter the cardholder's primary account number and card + # expiration date. + module PointOfServiceEntryMode + extend Increase::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Increase::CardPayment::Element::CardFinancial::NetworkDetails::Visa::PointOfServiceEntryMode + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + # Unknown + UNKNOWN = + T.let( + :unknown, + Increase::CardPayment::Element::CardFinancial::NetworkDetails::Visa::PointOfServiceEntryMode::TaggedSymbol + ) + + # Manual key entry + MANUAL = + T.let( + :manual, + Increase::CardPayment::Element::CardFinancial::NetworkDetails::Visa::PointOfServiceEntryMode::TaggedSymbol + ) + + # Magnetic stripe read, without card verification value + MAGNETIC_STRIPE_NO_CVV = + T.let( + :magnetic_stripe_no_cvv, + Increase::CardPayment::Element::CardFinancial::NetworkDetails::Visa::PointOfServiceEntryMode::TaggedSymbol + ) + + # Optical code + OPTICAL_CODE = + T.let( + :optical_code, + Increase::CardPayment::Element::CardFinancial::NetworkDetails::Visa::PointOfServiceEntryMode::TaggedSymbol + ) + + # Contact chip card + INTEGRATED_CIRCUIT_CARD = + T.let( + :integrated_circuit_card, + Increase::CardPayment::Element::CardFinancial::NetworkDetails::Visa::PointOfServiceEntryMode::TaggedSymbol + ) + + # Contactless read of chip card + CONTACTLESS = + T.let( + :contactless, + Increase::CardPayment::Element::CardFinancial::NetworkDetails::Visa::PointOfServiceEntryMode::TaggedSymbol + ) + + # Transaction initiated using a credential that has previously been stored on file + CREDENTIAL_ON_FILE = + T.let( + :credential_on_file, + Increase::CardPayment::Element::CardFinancial::NetworkDetails::Visa::PointOfServiceEntryMode::TaggedSymbol + ) + + # Magnetic stripe read + MAGNETIC_STRIPE = + T.let( + :magnetic_stripe, + Increase::CardPayment::Element::CardFinancial::NetworkDetails::Visa::PointOfServiceEntryMode::TaggedSymbol + ) + + # Contactless read of magnetic stripe data + CONTACTLESS_MAGNETIC_STRIPE = + T.let( + :contactless_magnetic_stripe, + Increase::CardPayment::Element::CardFinancial::NetworkDetails::Visa::PointOfServiceEntryMode::TaggedSymbol + ) + + # Contact chip card, without card verification value + INTEGRATED_CIRCUIT_CARD_NO_CVV = + T.let( + :integrated_circuit_card_no_cvv, + Increase::CardPayment::Element::CardFinancial::NetworkDetails::Visa::PointOfServiceEntryMode::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Increase::CardPayment::Element::CardFinancial::NetworkDetails::Visa::PointOfServiceEntryMode::TaggedSymbol + ] + ) + end + def self.values + end + end + + # Only present when `actioner: network`. Describes why a card authorization was + # approved or declined by Visa through stand-in processing. + module StandInProcessingReason + extend Increase::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Increase::CardPayment::Element::CardFinancial::NetworkDetails::Visa::StandInProcessingReason + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + # Increase failed to process the authorization in a timely manner. + ISSUER_ERROR = + T.let( + :issuer_error, + Increase::CardPayment::Element::CardFinancial::NetworkDetails::Visa::StandInProcessingReason::TaggedSymbol + ) + + # The physical card read had an invalid CVV, dCVV, or authorization request cryptogram. + INVALID_PHYSICAL_CARD = + T.let( + :invalid_physical_card, + Increase::CardPayment::Element::CardFinancial::NetworkDetails::Visa::StandInProcessingReason::TaggedSymbol + ) + + # The 3DS cardholder authentication verification value was invalid. + INVALID_CARDHOLDER_AUTHENTICATION_VERIFICATION_VALUE = + T.let( + :invalid_cardholder_authentication_verification_value, + Increase::CardPayment::Element::CardFinancial::NetworkDetails::Visa::StandInProcessingReason::TaggedSymbol + ) + + # An internal Visa error occurred. Visa uses this reason code for certain expected occurrences as well, such as Application Transaction Counter (ATC) replays. + INTERNAL_VISA_ERROR = + T.let( + :internal_visa_error, + Increase::CardPayment::Element::CardFinancial::NetworkDetails::Visa::StandInProcessingReason::TaggedSymbol + ) + + # The merchant has enabled Visa's Transaction Advisory Service and requires further authentication to perform the transaction. In practice this is often utilized at fuel pumps to tell the cardholder to see the cashier. + MERCHANT_TRANSACTION_ADVISORY_SERVICE_AUTHENTICATION_REQUIRED = + T.let( + :merchant_transaction_advisory_service_authentication_required, + Increase::CardPayment::Element::CardFinancial::NetworkDetails::Visa::StandInProcessingReason::TaggedSymbol + ) + + # The transaction was blocked by Visa's Payment Fraud Disruption service due to fraudulent Acquirer behavior, such as card testing. + PAYMENT_FRAUD_DISRUPTION_ACQUIRER_BLOCK = + T.let( + :payment_fraud_disruption_acquirer_block, + Increase::CardPayment::Element::CardFinancial::NetworkDetails::Visa::StandInProcessingReason::TaggedSymbol + ) + + # An unspecific reason for stand-in processing. + OTHER = + T.let( + :other, + Increase::CardPayment::Element::CardFinancial::NetworkDetails::Visa::StandInProcessingReason::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Increase::CardPayment::Element::CardFinancial::NetworkDetails::Visa::StandInProcessingReason::TaggedSymbol + ] + ) + end + def self.values + end + end + end + end + + class NetworkIdentifiers < Increase::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Increase::CardPayment::Element::CardFinancial::NetworkIdentifiers, + Increase::Internal::AnyHash + ) + end + + # The randomly generated 6-character Authorization Identification Response code + # sent back to the acquirer in an approved response. + sig { returns(T.nilable(String)) } + attr_accessor :authorization_identification_response + + # A life-cycle identifier used across e.g., an authorization and a reversal. + # Expected to be unique per acquirer within a window of time. For some card + # networks the retrieval reference number includes the trace counter. + sig { returns(T.nilable(String)) } + attr_accessor :retrieval_reference_number + + # A counter used to verify an individual authorization. Expected to be unique per + # acquirer within a window of time. + sig { returns(T.nilable(String)) } + attr_accessor :trace_number + + # A globally unique transaction identifier provided by the card network, used + # across multiple life-cycle requests. + sig { returns(T.nilable(String)) } + attr_accessor :transaction_id + + # Network-specific identifiers for a specific request or transaction. + sig do + params( + authorization_identification_response: T.nilable(String), + retrieval_reference_number: T.nilable(String), + trace_number: T.nilable(String), + transaction_id: T.nilable(String) + ).returns(T.attached_class) + end + def self.new( + # The randomly generated 6-character Authorization Identification Response code + # sent back to the acquirer in an approved response. + authorization_identification_response:, + # A life-cycle identifier used across e.g., an authorization and a reversal. + # Expected to be unique per acquirer within a window of time. For some card + # networks the retrieval reference number includes the trace counter. + retrieval_reference_number:, + # A counter used to verify an individual authorization. Expected to be unique per + # acquirer within a window of time. + trace_number:, + # A globally unique transaction identifier provided by the card network, used + # across multiple life-cycle requests. + transaction_id: + ) + end + + sig do + override.returns( + { + authorization_identification_response: T.nilable(String), + retrieval_reference_number: T.nilable(String), + trace_number: T.nilable(String), + transaction_id: T.nilable(String) + } + ) + end + def to_hash + end + end + + # The processing category describes the intent behind the financial, such as # whether it was used for bill payments or an automatic fuel dispenser. module ProcessingCategory extend Increase::Internal::Type::Enum @@ -5489,7 +7942,7 @@ module Increase T.type_alias do T.all( Symbol, - Increase::CardPayment::Element::CardDecline::ProcessingCategory + Increase::CardPayment::Element::CardFinancial::ProcessingCategory ) end OrSymbol = T.type_alias { T.any(Symbol, String) } @@ -5498,136 +7951,69 @@ module Increase ACCOUNT_FUNDING = T.let( :account_funding, - Increase::CardPayment::Element::CardDecline::ProcessingCategory::TaggedSymbol + Increase::CardPayment::Element::CardFinancial::ProcessingCategory::TaggedSymbol ) # Automatic fuel dispenser authorizations occur when a card is used at a gas pump, prior to the actual transaction amount being known. They are followed by an advice message that updates the amount of the pending transaction. AUTOMATIC_FUEL_DISPENSER = T.let( :automatic_fuel_dispenser, - Increase::CardPayment::Element::CardDecline::ProcessingCategory::TaggedSymbol + Increase::CardPayment::Element::CardFinancial::ProcessingCategory::TaggedSymbol ) # A transaction used to pay a bill. BILL_PAYMENT = T.let( :bill_payment, - Increase::CardPayment::Element::CardDecline::ProcessingCategory::TaggedSymbol + Increase::CardPayment::Element::CardFinancial::ProcessingCategory::TaggedSymbol ) # Original credit transactions are used to send money to a cardholder. ORIGINAL_CREDIT = T.let( :original_credit, - Increase::CardPayment::Element::CardDecline::ProcessingCategory::TaggedSymbol + Increase::CardPayment::Element::CardFinancial::ProcessingCategory::TaggedSymbol ) # A regular purchase. PURCHASE = T.let( :purchase, - Increase::CardPayment::Element::CardDecline::ProcessingCategory::TaggedSymbol + Increase::CardPayment::Element::CardFinancial::ProcessingCategory::TaggedSymbol ) # Quasi-cash transactions represent purchases of items which may be convertible to cash. QUASI_CASH = T.let( :quasi_cash, - Increase::CardPayment::Element::CardDecline::ProcessingCategory::TaggedSymbol + Increase::CardPayment::Element::CardFinancial::ProcessingCategory::TaggedSymbol ) # A refund card authorization, sometimes referred to as a credit voucher authorization, where funds are credited to the cardholder. REFUND = T.let( :refund, - Increase::CardPayment::Element::CardDecline::ProcessingCategory::TaggedSymbol + Increase::CardPayment::Element::CardFinancial::ProcessingCategory::TaggedSymbol ) # Cash disbursement transactions are used to withdraw cash from an ATM or a point of sale. CASH_DISBURSEMENT = T.let( :cash_disbursement, - Increase::CardPayment::Element::CardDecline::ProcessingCategory::TaggedSymbol + Increase::CardPayment::Element::CardFinancial::ProcessingCategory::TaggedSymbol ) # The processing category is unknown. UNKNOWN = T.let( :unknown, - Increase::CardPayment::Element::CardDecline::ProcessingCategory::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Increase::CardPayment::Element::CardDecline::ProcessingCategory::TaggedSymbol - ] - ) - end - def self.values - end - end - - # This is present if a specific decline reason was given in the real-time - # decision. - module RealTimeDecisionReason - extend Increase::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Increase::CardPayment::Element::CardDecline::RealTimeDecisionReason - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - # The cardholder does not have sufficient funds to cover the transaction. The merchant may attempt to process the transaction again. - INSUFFICIENT_FUNDS = - T.let( - :insufficient_funds, - Increase::CardPayment::Element::CardDecline::RealTimeDecisionReason::TaggedSymbol - ) - - # This type of transaction is not allowed for this card. This transaction should not be retried. - TRANSACTION_NEVER_ALLOWED = - T.let( - :transaction_never_allowed, - Increase::CardPayment::Element::CardDecline::RealTimeDecisionReason::TaggedSymbol - ) - - # The transaction amount exceeds the cardholder's approval limit. The merchant may attempt to process the transaction again. - EXCEEDS_APPROVAL_LIMIT = - T.let( - :exceeds_approval_limit, - Increase::CardPayment::Element::CardDecline::RealTimeDecisionReason::TaggedSymbol - ) - - # The card has been temporarily disabled or not yet activated. The merchant may attempt to process the transaction again. - CARD_TEMPORARILY_DISABLED = - T.let( - :card_temporarily_disabled, - Increase::CardPayment::Element::CardDecline::RealTimeDecisionReason::TaggedSymbol - ) - - # The transaction is suspected to be fraudulent. The merchant may attempt to process the transaction again. - SUSPECTED_FRAUD = - T.let( - :suspected_fraud, - Increase::CardPayment::Element::CardDecline::RealTimeDecisionReason::TaggedSymbol - ) - - # The transaction was declined for another reason. The merchant may attempt to process the transaction again. This should be used sparingly. - OTHER = - T.let( - :other, - Increase::CardPayment::Element::CardDecline::RealTimeDecisionReason::TaggedSymbol + Increase::CardPayment::Element::CardFinancial::ProcessingCategory::TaggedSymbol ) sig do override.returns( T::Array[ - Increase::CardPayment::Element::CardDecline::RealTimeDecisionReason::TaggedSymbol + Increase::CardPayment::Element::CardFinancial::ProcessingCategory::TaggedSymbol ] ) end @@ -5635,163 +8021,30 @@ module Increase end end - # Why the transaction was declined. - module Reason + # A constant representing the object's type. For this resource it will always be + # `card_financial`. + module Type extend Increase::Internal::Type::Enum TaggedSymbol = T.type_alias do T.all( Symbol, - Increase::CardPayment::Element::CardDecline::Reason + Increase::CardPayment::Element::CardFinancial::Type ) end OrSymbol = T.type_alias { T.any(Symbol, String) } - # The account has been closed. - ACCOUNT_CLOSED = - T.let( - :account_closed, - Increase::CardPayment::Element::CardDecline::Reason::TaggedSymbol - ) - - # The Card was not active. - CARD_NOT_ACTIVE = - T.let( - :card_not_active, - Increase::CardPayment::Element::CardDecline::Reason::TaggedSymbol - ) - - # The Card has been canceled. - CARD_CANCELED = - T.let( - :card_canceled, - Increase::CardPayment::Element::CardDecline::Reason::TaggedSymbol - ) - - # The Physical Card was not active. - PHYSICAL_CARD_NOT_ACTIVE = - T.let( - :physical_card_not_active, - Increase::CardPayment::Element::CardDecline::Reason::TaggedSymbol - ) - - # The account's entity was not active. - ENTITY_NOT_ACTIVE = - T.let( - :entity_not_active, - Increase::CardPayment::Element::CardDecline::Reason::TaggedSymbol - ) - - # The account was inactive. - GROUP_LOCKED = - T.let( - :group_locked, - Increase::CardPayment::Element::CardDecline::Reason::TaggedSymbol - ) - - # The Card's Account did not have a sufficient available balance. - INSUFFICIENT_FUNDS = - T.let( - :insufficient_funds, - Increase::CardPayment::Element::CardDecline::Reason::TaggedSymbol - ) - - # The given CVV2 did not match the card's value. - CVV2_MISMATCH = - T.let( - :cvv2_mismatch, - Increase::CardPayment::Element::CardDecline::Reason::TaggedSymbol - ) - - # The given PIN did not match the card's value. - PIN_MISMATCH = - T.let( - :pin_mismatch, - Increase::CardPayment::Element::CardDecline::Reason::TaggedSymbol - ) - - # The given expiration date did not match the card's value. Only applies when a CVV2 is present. - CARD_EXPIRATION_MISMATCH = - T.let( - :card_expiration_mismatch, - Increase::CardPayment::Element::CardDecline::Reason::TaggedSymbol - ) - - # The attempted card transaction is not allowed per Increase's terms. - TRANSACTION_NOT_ALLOWED = - T.let( - :transaction_not_allowed, - Increase::CardPayment::Element::CardDecline::Reason::TaggedSymbol - ) - - # The transaction was blocked by a Limit. - BREACHES_LIMIT = - T.let( - :breaches_limit, - Increase::CardPayment::Element::CardDecline::Reason::TaggedSymbol - ) - - # Your application declined the transaction via webhook. - WEBHOOK_DECLINED = - T.let( - :webhook_declined, - Increase::CardPayment::Element::CardDecline::Reason::TaggedSymbol - ) - - # Your application webhook did not respond without the required timeout. - WEBHOOK_TIMED_OUT = - T.let( - :webhook_timed_out, - Increase::CardPayment::Element::CardDecline::Reason::TaggedSymbol - ) - - # Declined by stand-in processing. - DECLINED_BY_STAND_IN_PROCESSING = - T.let( - :declined_by_stand_in_processing, - Increase::CardPayment::Element::CardDecline::Reason::TaggedSymbol - ) - - # The card read had an invalid CVV, dCVV, or authorization request cryptogram. - INVALID_PHYSICAL_CARD = - T.let( - :invalid_physical_card, - Increase::CardPayment::Element::CardDecline::Reason::TaggedSymbol - ) - - # The original card authorization for this incremental authorization does not exist. - MISSING_ORIGINAL_AUTHORIZATION = - T.let( - :missing_original_authorization, - Increase::CardPayment::Element::CardDecline::Reason::TaggedSymbol - ) - - # The transaction was declined because the 3DS authentication failed. - FAILED_3DS_AUTHENTICATION = - T.let( - :failed_3ds_authentication, - Increase::CardPayment::Element::CardDecline::Reason::TaggedSymbol - ) - - # The transaction was suspected to be used by a card tester to test for valid card numbers. - SUSPECTED_CARD_TESTING = - T.let( - :suspected_card_testing, - Increase::CardPayment::Element::CardDecline::Reason::TaggedSymbol - ) - - # The transaction was suspected to be fraudulent. Please reach out to support@increase.com for more information. - SUSPECTED_FRAUD = + CARD_FINANCIAL = T.let( - :suspected_fraud, - Increase::CardPayment::Element::CardDecline::Reason::TaggedSymbol + :card_financial, + Increase::CardPayment::Element::CardFinancial::Type::TaggedSymbol ) sig do override.returns( T::Array[ - Increase::CardPayment::Element::CardDecline::Reason::TaggedSymbol + Increase::CardPayment::Element::CardFinancial::Type::TaggedSymbol ] ) end @@ -5803,7 +8056,7 @@ module Increase OrHash = T.type_alias do T.any( - Increase::CardPayment::Element::CardDecline::Verification, + Increase::CardPayment::Element::CardFinancial::Verification, Increase::Internal::AnyHash ) end @@ -5812,7 +8065,7 @@ module Increase # the back of the card. sig do returns( - Increase::CardPayment::Element::CardDecline::Verification::CardVerificationCode + Increase::CardPayment::Element::CardFinancial::Verification::CardVerificationCode ) end attr_reader :card_verification_code @@ -5820,7 +8073,7 @@ module Increase sig do params( card_verification_code: - Increase::CardPayment::Element::CardDecline::Verification::CardVerificationCode::OrHash + Increase::CardPayment::Element::CardFinancial::Verification::CardVerificationCode::OrHash ).void end attr_writer :card_verification_code @@ -5829,7 +8082,7 @@ module Increase # we verified it against. sig do returns( - Increase::CardPayment::Element::CardDecline::Verification::CardholderAddress + Increase::CardPayment::Element::CardFinancial::Verification::CardholderAddress ) end attr_reader :cardholder_address @@ -5837,7 +8090,7 @@ module Increase sig do params( cardholder_address: - Increase::CardPayment::Element::CardDecline::Verification::CardholderAddress::OrHash + Increase::CardPayment::Element::CardFinancial::Verification::CardholderAddress::OrHash ).void end attr_writer :cardholder_address @@ -5846,9 +8099,9 @@ module Increase sig do params( card_verification_code: - Increase::CardPayment::Element::CardDecline::Verification::CardVerificationCode::OrHash, + Increase::CardPayment::Element::CardFinancial::Verification::CardVerificationCode::OrHash, cardholder_address: - Increase::CardPayment::Element::CardDecline::Verification::CardholderAddress::OrHash + Increase::CardPayment::Element::CardFinancial::Verification::CardholderAddress::OrHash ).returns(T.attached_class) end def self.new( @@ -5865,9 +8118,9 @@ module Increase override.returns( { card_verification_code: - Increase::CardPayment::Element::CardDecline::Verification::CardVerificationCode, + Increase::CardPayment::Element::CardFinancial::Verification::CardVerificationCode, cardholder_address: - Increase::CardPayment::Element::CardDecline::Verification::CardholderAddress + Increase::CardPayment::Element::CardFinancial::Verification::CardholderAddress } ) end @@ -5878,7 +8131,7 @@ module Increase OrHash = T.type_alias do T.any( - Increase::CardPayment::Element::CardDecline::Verification::CardVerificationCode, + Increase::CardPayment::Element::CardFinancial::Verification::CardVerificationCode, Increase::Internal::AnyHash ) end @@ -5886,7 +8139,7 @@ module Increase # The result of verifying the Card Verification Code. sig do returns( - Increase::CardPayment::Element::CardDecline::Verification::CardVerificationCode::Result::TaggedSymbol + Increase::CardPayment::Element::CardFinancial::Verification::CardVerificationCode::Result::TaggedSymbol ) end attr_accessor :result @@ -5896,7 +8149,7 @@ module Increase sig do params( result: - Increase::CardPayment::Element::CardDecline::Verification::CardVerificationCode::Result::OrSymbol + Increase::CardPayment::Element::CardFinancial::Verification::CardVerificationCode::Result::OrSymbol ).returns(T.attached_class) end def self.new( @@ -5909,7 +8162,7 @@ module Increase override.returns( { result: - Increase::CardPayment::Element::CardDecline::Verification::CardVerificationCode::Result::TaggedSymbol + Increase::CardPayment::Element::CardFinancial::Verification::CardVerificationCode::Result::TaggedSymbol } ) end @@ -5924,7 +8177,7 @@ module Increase T.type_alias do T.all( Symbol, - Increase::CardPayment::Element::CardDecline::Verification::CardVerificationCode::Result + Increase::CardPayment::Element::CardFinancial::Verification::CardVerificationCode::Result ) end OrSymbol = T.type_alias { T.any(Symbol, String) } @@ -5933,27 +8186,27 @@ module Increase NOT_CHECKED = T.let( :not_checked, - Increase::CardPayment::Element::CardDecline::Verification::CardVerificationCode::Result::TaggedSymbol + Increase::CardPayment::Element::CardFinancial::Verification::CardVerificationCode::Result::TaggedSymbol ) # The card verification code matched the one on file. MATCH = T.let( :match, - Increase::CardPayment::Element::CardDecline::Verification::CardVerificationCode::Result::TaggedSymbol + Increase::CardPayment::Element::CardFinancial::Verification::CardVerificationCode::Result::TaggedSymbol ) # The card verification code did not match the one on file. NO_MATCH = T.let( :no_match, - Increase::CardPayment::Element::CardDecline::Verification::CardVerificationCode::Result::TaggedSymbol + Increase::CardPayment::Element::CardFinancial::Verification::CardVerificationCode::Result::TaggedSymbol ) sig do override.returns( T::Array[ - Increase::CardPayment::Element::CardDecline::Verification::CardVerificationCode::Result::TaggedSymbol + Increase::CardPayment::Element::CardFinancial::Verification::CardVerificationCode::Result::TaggedSymbol ] ) end @@ -5966,7 +8219,7 @@ module Increase OrHash = T.type_alias do T.any( - Increase::CardPayment::Element::CardDecline::Verification::CardholderAddress, + Increase::CardPayment::Element::CardFinancial::Verification::CardholderAddress, Increase::Internal::AnyHash ) end @@ -5991,7 +8244,7 @@ module Increase # The address verification result returned to the card network. sig do returns( - Increase::CardPayment::Element::CardDecline::Verification::CardholderAddress::Result::TaggedSymbol + Increase::CardPayment::Element::CardFinancial::Verification::CardholderAddress::Result::TaggedSymbol ) end attr_accessor :result @@ -6005,7 +8258,7 @@ module Increase provided_line1: T.nilable(String), provided_postal_code: T.nilable(String), result: - Increase::CardPayment::Element::CardDecline::Verification::CardholderAddress::Result::OrSymbol + Increase::CardPayment::Element::CardFinancial::Verification::CardholderAddress::Result::OrSymbol ).returns(T.attached_class) end def self.new( @@ -6031,7 +8284,7 @@ module Increase provided_line1: T.nilable(String), provided_postal_code: T.nilable(String), result: - Increase::CardPayment::Element::CardDecline::Verification::CardholderAddress::Result::TaggedSymbol + Increase::CardPayment::Element::CardFinancial::Verification::CardholderAddress::Result::TaggedSymbol } ) end @@ -6046,7 +8299,7 @@ module Increase T.type_alias do T.all( Symbol, - Increase::CardPayment::Element::CardDecline::Verification::CardholderAddress::Result + Increase::CardPayment::Element::CardFinancial::Verification::CardholderAddress::Result ) end OrSymbol = T.type_alias { T.any(Symbol, String) } @@ -6055,48 +8308,48 @@ module Increase NOT_CHECKED = T.let( :not_checked, - Increase::CardPayment::Element::CardDecline::Verification::CardholderAddress::Result::TaggedSymbol + Increase::CardPayment::Element::CardFinancial::Verification::CardholderAddress::Result::TaggedSymbol ) # Postal code matches, but the street address does not match or was not provided. POSTAL_CODE_MATCH_ADDRESS_NO_MATCH = T.let( :postal_code_match_address_no_match, - Increase::CardPayment::Element::CardDecline::Verification::CardholderAddress::Result::TaggedSymbol + Increase::CardPayment::Element::CardFinancial::Verification::CardholderAddress::Result::TaggedSymbol ) # Postal code does not match, but the street address matches or was not provided. POSTAL_CODE_NO_MATCH_ADDRESS_MATCH = T.let( :postal_code_no_match_address_match, - Increase::CardPayment::Element::CardDecline::Verification::CardholderAddress::Result::TaggedSymbol + Increase::CardPayment::Element::CardFinancial::Verification::CardholderAddress::Result::TaggedSymbol ) # Postal code and street address match. MATCH = T.let( :match, - Increase::CardPayment::Element::CardDecline::Verification::CardholderAddress::Result::TaggedSymbol + Increase::CardPayment::Element::CardFinancial::Verification::CardholderAddress::Result::TaggedSymbol ) # Postal code and street address do not match. NO_MATCH = T.let( :no_match, - Increase::CardPayment::Element::CardDecline::Verification::CardholderAddress::Result::TaggedSymbol + Increase::CardPayment::Element::CardFinancial::Verification::CardholderAddress::Result::TaggedSymbol ) # Postal code matches, but the street address was not verified. (deprecated) POSTAL_CODE_MATCH_ADDRESS_NOT_CHECKED = T.let( :postal_code_match_address_not_checked, - Increase::CardPayment::Element::CardDecline::Verification::CardholderAddress::Result::TaggedSymbol + Increase::CardPayment::Element::CardFinancial::Verification::CardholderAddress::Result::TaggedSymbol ) sig do override.returns( T::Array[ - Increase::CardPayment::Element::CardDecline::Verification::CardholderAddress::Result::TaggedSymbol + Increase::CardPayment::Element::CardFinancial::Verification::CardholderAddress::Result::TaggedSymbol ] ) end @@ -15334,6 +17587,13 @@ module Increase Increase::CardPayment::Element::Category::TaggedSymbol ) + # Card Financial: details will be under the `card_financial` object. + CARD_FINANCIAL = + T.let( + :card_financial, + Increase::CardPayment::Element::Category::TaggedSymbol + ) + # Unknown card payment element. OTHER = T.let( diff --git a/sig/increase/models/card_payment.rbs b/sig/increase/models/card_payment.rbs index 24fa8fdf..cf65e091 100644 --- a/sig/increase/models/card_payment.rbs +++ b/sig/increase/models/card_payment.rbs @@ -62,6 +62,7 @@ module Increase card_authorization: Increase::CardPayment::Element::CardAuthorization?, card_authorization_expiration: Increase::CardPayment::Element::CardAuthorizationExpiration?, card_decline: Increase::CardPayment::Element::CardDecline?, + card_financial: Increase::CardPayment::Element::CardFinancial?, card_fuel_confirmation: Increase::CardPayment::Element::CardFuelConfirmation?, card_increment: Increase::CardPayment::Element::CardIncrement?, card_refund: Increase::CardPayment::Element::CardRefund?, @@ -82,6 +83,8 @@ module Increase attr_accessor card_decline: Increase::CardPayment::Element::CardDecline? + attr_accessor card_financial: Increase::CardPayment::Element::CardFinancial? + attr_accessor card_fuel_confirmation: Increase::CardPayment::Element::CardFuelConfirmation? attr_accessor card_increment: Increase::CardPayment::Element::CardIncrement? @@ -105,6 +108,7 @@ module Increase card_authorization: Increase::CardPayment::Element::CardAuthorization?, card_authorization_expiration: Increase::CardPayment::Element::CardAuthorizationExpiration?, card_decline: Increase::CardPayment::Element::CardDecline?, + card_financial: Increase::CardPayment::Element::CardFinancial?, card_fuel_confirmation: Increase::CardPayment::Element::CardFuelConfirmation?, card_increment: Increase::CardPayment::Element::CardIncrement?, card_refund: Increase::CardPayment::Element::CardRefund?, @@ -121,6 +125,7 @@ module Increase card_authorization: Increase::CardPayment::Element::CardAuthorization?, card_authorization_expiration: Increase::CardPayment::Element::CardAuthorizationExpiration?, card_decline: Increase::CardPayment::Element::CardDecline?, + card_financial: Increase::CardPayment::Element::CardFinancial?, card_fuel_confirmation: Increase::CardPayment::Element::CardFuelConfirmation?, card_increment: Increase::CardPayment::Element::CardIncrement?, card_refund: Increase::CardPayment::Element::CardRefund?, @@ -1332,8 +1337,915 @@ module Increase currency: Increase::Models::CardPayment::Element::CardDecline::currency, declined_transaction_id: String, digital_wallet_token_id: String?, - direction: Increase::Models::CardPayment::Element::CardDecline::direction, - incremented_card_authorization_id: String?, + direction: Increase::Models::CardPayment::Element::CardDecline::direction, + incremented_card_authorization_id: String?, + merchant_acceptor_id: String, + merchant_category_code: String, + merchant_city: String?, + merchant_country: String, + merchant_descriptor: String, + merchant_postal_code: String?, + merchant_state: String?, + network_details: Increase::CardPayment::Element::CardDecline::NetworkDetails, + network_identifiers: Increase::CardPayment::Element::CardDecline::NetworkIdentifiers, + network_risk_score: Integer?, + physical_card_id: String?, + presentment_amount: Integer, + presentment_currency: String, + processing_category: Increase::Models::CardPayment::Element::CardDecline::processing_category, + real_time_decision_id: String?, + real_time_decision_reason: Increase::Models::CardPayment::Element::CardDecline::real_time_decision_reason?, + reason: Increase::Models::CardPayment::Element::CardDecline::reason, + terminal_id: String?, + verification: Increase::CardPayment::Element::CardDecline::Verification + } + + class CardDecline < Increase::Internal::Type::BaseModel + attr_accessor id: String + + attr_accessor actioner: Increase::Models::CardPayment::Element::CardDecline::actioner + + attr_accessor additional_amounts: Increase::CardPayment::Element::CardDecline::AdditionalAmounts + + attr_accessor amount: Integer + + attr_accessor card_payment_id: String + + attr_accessor currency: Increase::Models::CardPayment::Element::CardDecline::currency + + attr_accessor declined_transaction_id: String + + attr_accessor digital_wallet_token_id: String? + + attr_accessor direction: Increase::Models::CardPayment::Element::CardDecline::direction + + attr_accessor incremented_card_authorization_id: String? + + attr_accessor merchant_acceptor_id: String + + attr_accessor merchant_category_code: String + + attr_accessor merchant_city: String? + + attr_accessor merchant_country: String + + attr_accessor merchant_descriptor: String + + attr_accessor merchant_postal_code: String? + + attr_accessor merchant_state: String? + + attr_accessor network_details: Increase::CardPayment::Element::CardDecline::NetworkDetails + + attr_accessor network_identifiers: Increase::CardPayment::Element::CardDecline::NetworkIdentifiers + + attr_accessor network_risk_score: Integer? + + attr_accessor physical_card_id: String? + + attr_accessor presentment_amount: Integer + + attr_accessor presentment_currency: String + + attr_accessor processing_category: Increase::Models::CardPayment::Element::CardDecline::processing_category + + attr_accessor real_time_decision_id: String? + + attr_accessor real_time_decision_reason: Increase::Models::CardPayment::Element::CardDecline::real_time_decision_reason? + + attr_accessor reason: Increase::Models::CardPayment::Element::CardDecline::reason + + attr_accessor terminal_id: String? + + attr_accessor verification: Increase::CardPayment::Element::CardDecline::Verification + + def initialize: ( + id: String, + actioner: Increase::Models::CardPayment::Element::CardDecline::actioner, + additional_amounts: Increase::CardPayment::Element::CardDecline::AdditionalAmounts, + amount: Integer, + card_payment_id: String, + currency: Increase::Models::CardPayment::Element::CardDecline::currency, + declined_transaction_id: String, + digital_wallet_token_id: String?, + direction: Increase::Models::CardPayment::Element::CardDecline::direction, + incremented_card_authorization_id: String?, + merchant_acceptor_id: String, + merchant_category_code: String, + merchant_city: String?, + merchant_country: String, + merchant_descriptor: String, + merchant_postal_code: String?, + merchant_state: String?, + network_details: Increase::CardPayment::Element::CardDecline::NetworkDetails, + network_identifiers: Increase::CardPayment::Element::CardDecline::NetworkIdentifiers, + network_risk_score: Integer?, + physical_card_id: String?, + presentment_amount: Integer, + presentment_currency: String, + processing_category: Increase::Models::CardPayment::Element::CardDecline::processing_category, + real_time_decision_id: String?, + real_time_decision_reason: Increase::Models::CardPayment::Element::CardDecline::real_time_decision_reason?, + reason: Increase::Models::CardPayment::Element::CardDecline::reason, + terminal_id: String?, + verification: Increase::CardPayment::Element::CardDecline::Verification + ) -> void + + def to_hash: -> { + id: String, + actioner: Increase::Models::CardPayment::Element::CardDecline::actioner, + additional_amounts: Increase::CardPayment::Element::CardDecline::AdditionalAmounts, + amount: Integer, + card_payment_id: String, + currency: Increase::Models::CardPayment::Element::CardDecline::currency, + declined_transaction_id: String, + digital_wallet_token_id: String?, + direction: Increase::Models::CardPayment::Element::CardDecline::direction, + incremented_card_authorization_id: String?, + merchant_acceptor_id: String, + merchant_category_code: String, + merchant_city: String?, + merchant_country: String, + merchant_descriptor: String, + merchant_postal_code: String?, + merchant_state: String?, + network_details: Increase::CardPayment::Element::CardDecline::NetworkDetails, + network_identifiers: Increase::CardPayment::Element::CardDecline::NetworkIdentifiers, + network_risk_score: Integer?, + physical_card_id: String?, + presentment_amount: Integer, + presentment_currency: String, + processing_category: Increase::Models::CardPayment::Element::CardDecline::processing_category, + real_time_decision_id: String?, + real_time_decision_reason: Increase::Models::CardPayment::Element::CardDecline::real_time_decision_reason?, + reason: Increase::Models::CardPayment::Element::CardDecline::reason, + terminal_id: String?, + verification: Increase::CardPayment::Element::CardDecline::Verification + } + + type actioner = :user | :increase | :network + + module Actioner + extend Increase::Internal::Type::Enum + + # This object was actioned by the user through a real-time decision. + USER: :user + + # This object was actioned by Increase without user intervention. + INCREASE: :increase + + # This object was actioned by the network, through stand-in processing. + NETWORK: :network + + def self?.values: -> ::Array[Increase::Models::CardPayment::Element::CardDecline::actioner] + end + + type additional_amounts = + { + clinic: Increase::CardPayment::Element::CardDecline::AdditionalAmounts::Clinic?, + dental: Increase::CardPayment::Element::CardDecline::AdditionalAmounts::Dental?, + original: Increase::CardPayment::Element::CardDecline::AdditionalAmounts::Original?, + prescription: Increase::CardPayment::Element::CardDecline::AdditionalAmounts::Prescription?, + surcharge: Increase::CardPayment::Element::CardDecline::AdditionalAmounts::Surcharge?, + total_cumulative: Increase::CardPayment::Element::CardDecline::AdditionalAmounts::TotalCumulative?, + total_healthcare: Increase::CardPayment::Element::CardDecline::AdditionalAmounts::TotalHealthcare?, + transit: Increase::CardPayment::Element::CardDecline::AdditionalAmounts::Transit?, + unknown: Increase::CardPayment::Element::CardDecline::AdditionalAmounts::Unknown?, + vision: Increase::CardPayment::Element::CardDecline::AdditionalAmounts::Vision? + } + + class AdditionalAmounts < Increase::Internal::Type::BaseModel + attr_accessor clinic: Increase::CardPayment::Element::CardDecline::AdditionalAmounts::Clinic? + + attr_accessor dental: Increase::CardPayment::Element::CardDecline::AdditionalAmounts::Dental? + + attr_accessor original: Increase::CardPayment::Element::CardDecline::AdditionalAmounts::Original? + + attr_accessor prescription: Increase::CardPayment::Element::CardDecline::AdditionalAmounts::Prescription? + + attr_accessor surcharge: Increase::CardPayment::Element::CardDecline::AdditionalAmounts::Surcharge? + + attr_accessor total_cumulative: Increase::CardPayment::Element::CardDecline::AdditionalAmounts::TotalCumulative? + + attr_accessor total_healthcare: Increase::CardPayment::Element::CardDecline::AdditionalAmounts::TotalHealthcare? + + attr_accessor transit: Increase::CardPayment::Element::CardDecline::AdditionalAmounts::Transit? + + attr_accessor unknown: Increase::CardPayment::Element::CardDecline::AdditionalAmounts::Unknown? + + attr_accessor vision: Increase::CardPayment::Element::CardDecline::AdditionalAmounts::Vision? + + def initialize: ( + clinic: Increase::CardPayment::Element::CardDecline::AdditionalAmounts::Clinic?, + dental: Increase::CardPayment::Element::CardDecline::AdditionalAmounts::Dental?, + original: Increase::CardPayment::Element::CardDecline::AdditionalAmounts::Original?, + prescription: Increase::CardPayment::Element::CardDecline::AdditionalAmounts::Prescription?, + surcharge: Increase::CardPayment::Element::CardDecline::AdditionalAmounts::Surcharge?, + total_cumulative: Increase::CardPayment::Element::CardDecline::AdditionalAmounts::TotalCumulative?, + total_healthcare: Increase::CardPayment::Element::CardDecline::AdditionalAmounts::TotalHealthcare?, + transit: Increase::CardPayment::Element::CardDecline::AdditionalAmounts::Transit?, + unknown: Increase::CardPayment::Element::CardDecline::AdditionalAmounts::Unknown?, + vision: Increase::CardPayment::Element::CardDecline::AdditionalAmounts::Vision? + ) -> void + + def to_hash: -> { + clinic: Increase::CardPayment::Element::CardDecline::AdditionalAmounts::Clinic?, + dental: Increase::CardPayment::Element::CardDecline::AdditionalAmounts::Dental?, + original: Increase::CardPayment::Element::CardDecline::AdditionalAmounts::Original?, + prescription: Increase::CardPayment::Element::CardDecline::AdditionalAmounts::Prescription?, + surcharge: Increase::CardPayment::Element::CardDecline::AdditionalAmounts::Surcharge?, + total_cumulative: Increase::CardPayment::Element::CardDecline::AdditionalAmounts::TotalCumulative?, + total_healthcare: Increase::CardPayment::Element::CardDecline::AdditionalAmounts::TotalHealthcare?, + transit: Increase::CardPayment::Element::CardDecline::AdditionalAmounts::Transit?, + unknown: Increase::CardPayment::Element::CardDecline::AdditionalAmounts::Unknown?, + vision: Increase::CardPayment::Element::CardDecline::AdditionalAmounts::Vision? + } + + type clinic = { amount: Integer, currency: String } + + class Clinic < Increase::Internal::Type::BaseModel + attr_accessor amount: Integer + + attr_accessor currency: String + + def initialize: (amount: Integer, currency: String) -> void + + def to_hash: -> { amount: Integer, currency: String } + end + + type dental = { amount: Integer, currency: String } + + class Dental < Increase::Internal::Type::BaseModel + attr_accessor amount: Integer + + attr_accessor currency: String + + def initialize: (amount: Integer, currency: String) -> void + + def to_hash: -> { amount: Integer, currency: String } + end + + type original = { amount: Integer, currency: String } + + class Original < Increase::Internal::Type::BaseModel + attr_accessor amount: Integer + + attr_accessor currency: String + + def initialize: (amount: Integer, currency: String) -> void + + def to_hash: -> { amount: Integer, currency: String } + end + + type prescription = { amount: Integer, currency: String } + + class Prescription < Increase::Internal::Type::BaseModel + attr_accessor amount: Integer + + attr_accessor currency: String + + def initialize: (amount: Integer, currency: String) -> void + + def to_hash: -> { amount: Integer, currency: String } + end + + type surcharge = { amount: Integer, currency: String } + + class Surcharge < Increase::Internal::Type::BaseModel + attr_accessor amount: Integer + + attr_accessor currency: String + + def initialize: (amount: Integer, currency: String) -> void + + def to_hash: -> { amount: Integer, currency: String } + end + + type total_cumulative = { amount: Integer, currency: String } + + class TotalCumulative < Increase::Internal::Type::BaseModel + attr_accessor amount: Integer + + attr_accessor currency: String + + def initialize: (amount: Integer, currency: String) -> void + + def to_hash: -> { amount: Integer, currency: String } + end + + type total_healthcare = { amount: Integer, currency: String } + + class TotalHealthcare < Increase::Internal::Type::BaseModel + attr_accessor amount: Integer + + attr_accessor currency: String + + def initialize: (amount: Integer, currency: String) -> void + + def to_hash: -> { amount: Integer, currency: String } + end + + type transit = { amount: Integer, currency: String } + + class Transit < Increase::Internal::Type::BaseModel + attr_accessor amount: Integer + + attr_accessor currency: String + + def initialize: (amount: Integer, currency: String) -> void + + def to_hash: -> { amount: Integer, currency: String } + end + + type unknown = { amount: Integer, currency: String } + + class Unknown < Increase::Internal::Type::BaseModel + attr_accessor amount: Integer + + attr_accessor currency: String + + def initialize: (amount: Integer, currency: String) -> void + + def to_hash: -> { amount: Integer, currency: String } + end + + type vision = { amount: Integer, currency: String } + + class Vision < Increase::Internal::Type::BaseModel + attr_accessor amount: Integer + + attr_accessor currency: String + + def initialize: (amount: Integer, currency: String) -> void + + def to_hash: -> { amount: Integer, currency: String } + end + end + + type currency = :CAD | :CHF | :EUR | :GBP | :JPY | :USD + + module Currency + extend Increase::Internal::Type::Enum + + # Canadian Dollar (CAD) + CAD: :CAD + + # Swiss Franc (CHF) + CHF: :CHF + + # Euro (EUR) + EUR: :EUR + + # British Pound (GBP) + GBP: :GBP + + # Japanese Yen (JPY) + JPY: :JPY + + # US Dollar (USD) + USD: :USD + + def self?.values: -> ::Array[Increase::Models::CardPayment::Element::CardDecline::currency] + end + + type direction = :settlement | :refund + + module Direction + extend Increase::Internal::Type::Enum + + # A regular card authorization where funds are debited from the cardholder. + SETTLEMENT: :settlement + + # A refund card authorization, sometimes referred to as a credit voucher authorization, where funds are credited to the cardholder. + REFUND: :refund + + def self?.values: -> ::Array[Increase::Models::CardPayment::Element::CardDecline::direction] + end + + type network_details = + { + category: Increase::Models::CardPayment::Element::CardDecline::NetworkDetails::category, + pulse: top?, + visa: Increase::CardPayment::Element::CardDecline::NetworkDetails::Visa? + } + + class NetworkDetails < Increase::Internal::Type::BaseModel + attr_accessor category: Increase::Models::CardPayment::Element::CardDecline::NetworkDetails::category + + attr_accessor pulse: top? + + attr_accessor visa: Increase::CardPayment::Element::CardDecline::NetworkDetails::Visa? + + def initialize: ( + category: Increase::Models::CardPayment::Element::CardDecline::NetworkDetails::category, + pulse: top?, + visa: Increase::CardPayment::Element::CardDecline::NetworkDetails::Visa? + ) -> void + + def to_hash: -> { + category: Increase::Models::CardPayment::Element::CardDecline::NetworkDetails::category, + pulse: top?, + visa: Increase::CardPayment::Element::CardDecline::NetworkDetails::Visa? + } + + type category = :visa | :pulse + + module Category + extend Increase::Internal::Type::Enum + + # Visa + VISA: :visa + + # Pulse + PULSE: :pulse + + def self?.values: -> ::Array[Increase::Models::CardPayment::Element::CardDecline::NetworkDetails::category] + end + + type visa = + { + electronic_commerce_indicator: Increase::Models::CardPayment::Element::CardDecline::NetworkDetails::Visa::electronic_commerce_indicator?, + point_of_service_entry_mode: Increase::Models::CardPayment::Element::CardDecline::NetworkDetails::Visa::point_of_service_entry_mode?, + stand_in_processing_reason: Increase::Models::CardPayment::Element::CardDecline::NetworkDetails::Visa::stand_in_processing_reason? + } + + class Visa < Increase::Internal::Type::BaseModel + attr_accessor electronic_commerce_indicator: Increase::Models::CardPayment::Element::CardDecline::NetworkDetails::Visa::electronic_commerce_indicator? + + attr_accessor point_of_service_entry_mode: Increase::Models::CardPayment::Element::CardDecline::NetworkDetails::Visa::point_of_service_entry_mode? + + attr_accessor stand_in_processing_reason: Increase::Models::CardPayment::Element::CardDecline::NetworkDetails::Visa::stand_in_processing_reason? + + def initialize: ( + electronic_commerce_indicator: Increase::Models::CardPayment::Element::CardDecline::NetworkDetails::Visa::electronic_commerce_indicator?, + point_of_service_entry_mode: Increase::Models::CardPayment::Element::CardDecline::NetworkDetails::Visa::point_of_service_entry_mode?, + stand_in_processing_reason: Increase::Models::CardPayment::Element::CardDecline::NetworkDetails::Visa::stand_in_processing_reason? + ) -> void + + def to_hash: -> { + electronic_commerce_indicator: Increase::Models::CardPayment::Element::CardDecline::NetworkDetails::Visa::electronic_commerce_indicator?, + point_of_service_entry_mode: Increase::Models::CardPayment::Element::CardDecline::NetworkDetails::Visa::point_of_service_entry_mode?, + stand_in_processing_reason: Increase::Models::CardPayment::Element::CardDecline::NetworkDetails::Visa::stand_in_processing_reason? + } + + type electronic_commerce_indicator = + :mail_phone_order + | :recurring + | :installment + | :unknown_mail_phone_order + | :secure_electronic_commerce + | :non_authenticated_security_transaction_at_3ds_capable_merchant + | :non_authenticated_security_transaction + | :non_secure_transaction + + module ElectronicCommerceIndicator + extend Increase::Internal::Type::Enum + + # Single transaction of a mail/phone order: Use to indicate that the transaction is a mail/phone order purchase, not a recurring transaction or installment payment. For domestic transactions in the US region, this value may also indicate one bill payment transaction in the card-present or card-absent environments. + MAIL_PHONE_ORDER: :mail_phone_order + + # Recurring transaction: Payment indicator used to indicate a recurring transaction that originates from an acquirer in the US region. + RECURRING: :recurring + + # Installment payment: Payment indicator used to indicate one purchase of goods or services that is billed to the account in multiple charges over a period of time agreed upon by the cardholder and merchant from transactions that originate from an acquirer in the US region. + INSTALLMENT: :installment + + # Unknown classification: other mail order: Use to indicate that the type of mail/telephone order is unknown. + UNKNOWN_MAIL_PHONE_ORDER: :unknown_mail_phone_order + + # Secure electronic commerce transaction: Use to indicate that the electronic commerce transaction has been authenticated using e.g., 3-D Secure + SECURE_ELECTRONIC_COMMERCE: :secure_electronic_commerce + + # Non-authenticated security transaction at a 3-D Secure-capable merchant, and merchant attempted to authenticate the cardholder using 3-D Secure: Use to identify an electronic commerce transaction where the merchant attempted to authenticate the cardholder using 3-D Secure, but was unable to complete the authentication because the issuer or cardholder does not participate in the 3-D Secure program. + NON_AUTHENTICATED_SECURITY_TRANSACTION_AT_3DS_CAPABLE_MERCHANT: :non_authenticated_security_transaction_at_3ds_capable_merchant + + # Non-authenticated security transaction: Use to identify an electronic commerce transaction that uses data encryption for security however, cardholder authentication is not performed using 3-D Secure. + NON_AUTHENTICATED_SECURITY_TRANSACTION: :non_authenticated_security_transaction + + # Non-secure transaction: Use to identify an electronic commerce transaction that has no data protection. + NON_SECURE_TRANSACTION: :non_secure_transaction + + def self?.values: -> ::Array[Increase::Models::CardPayment::Element::CardDecline::NetworkDetails::Visa::electronic_commerce_indicator] + end + + type point_of_service_entry_mode = + :unknown + | :manual + | :magnetic_stripe_no_cvv + | :optical_code + | :integrated_circuit_card + | :contactless + | :credential_on_file + | :magnetic_stripe + | :contactless_magnetic_stripe + | :integrated_circuit_card_no_cvv + + module PointOfServiceEntryMode + extend Increase::Internal::Type::Enum + + # Unknown + UNKNOWN: :unknown + + # Manual key entry + MANUAL: :manual + + # Magnetic stripe read, without card verification value + MAGNETIC_STRIPE_NO_CVV: :magnetic_stripe_no_cvv + + # Optical code + OPTICAL_CODE: :optical_code + + # Contact chip card + INTEGRATED_CIRCUIT_CARD: :integrated_circuit_card + + # Contactless read of chip card + CONTACTLESS: :contactless + + # Transaction initiated using a credential that has previously been stored on file + CREDENTIAL_ON_FILE: :credential_on_file + + # Magnetic stripe read + MAGNETIC_STRIPE: :magnetic_stripe + + # Contactless read of magnetic stripe data + CONTACTLESS_MAGNETIC_STRIPE: :contactless_magnetic_stripe + + # Contact chip card, without card verification value + INTEGRATED_CIRCUIT_CARD_NO_CVV: :integrated_circuit_card_no_cvv + + def self?.values: -> ::Array[Increase::Models::CardPayment::Element::CardDecline::NetworkDetails::Visa::point_of_service_entry_mode] + end + + type stand_in_processing_reason = + :issuer_error + | :invalid_physical_card + | :invalid_cardholder_authentication_verification_value + | :internal_visa_error + | :merchant_transaction_advisory_service_authentication_required + | :payment_fraud_disruption_acquirer_block + | :other + + module StandInProcessingReason + extend Increase::Internal::Type::Enum + + # Increase failed to process the authorization in a timely manner. + ISSUER_ERROR: :issuer_error + + # The physical card read had an invalid CVV, dCVV, or authorization request cryptogram. + INVALID_PHYSICAL_CARD: :invalid_physical_card + + # The 3DS cardholder authentication verification value was invalid. + INVALID_CARDHOLDER_AUTHENTICATION_VERIFICATION_VALUE: :invalid_cardholder_authentication_verification_value + + # An internal Visa error occurred. Visa uses this reason code for certain expected occurrences as well, such as Application Transaction Counter (ATC) replays. + INTERNAL_VISA_ERROR: :internal_visa_error + + # The merchant has enabled Visa's Transaction Advisory Service and requires further authentication to perform the transaction. In practice this is often utilized at fuel pumps to tell the cardholder to see the cashier. + MERCHANT_TRANSACTION_ADVISORY_SERVICE_AUTHENTICATION_REQUIRED: :merchant_transaction_advisory_service_authentication_required + + # The transaction was blocked by Visa's Payment Fraud Disruption service due to fraudulent Acquirer behavior, such as card testing. + PAYMENT_FRAUD_DISRUPTION_ACQUIRER_BLOCK: :payment_fraud_disruption_acquirer_block + + # An unspecific reason for stand-in processing. + OTHER: :other + + def self?.values: -> ::Array[Increase::Models::CardPayment::Element::CardDecline::NetworkDetails::Visa::stand_in_processing_reason] + end + end + end + + type network_identifiers = + { + authorization_identification_response: String?, + retrieval_reference_number: String?, + trace_number: String?, + transaction_id: String? + } + + class NetworkIdentifiers < Increase::Internal::Type::BaseModel + attr_accessor authorization_identification_response: String? + + attr_accessor retrieval_reference_number: String? + + attr_accessor trace_number: String? + + attr_accessor transaction_id: String? + + def initialize: ( + authorization_identification_response: String?, + retrieval_reference_number: String?, + trace_number: String?, + transaction_id: String? + ) -> void + + def to_hash: -> { + authorization_identification_response: String?, + retrieval_reference_number: String?, + trace_number: String?, + transaction_id: String? + } + end + + type processing_category = + :account_funding + | :automatic_fuel_dispenser + | :bill_payment + | :original_credit + | :purchase + | :quasi_cash + | :refund + | :cash_disbursement + | :unknown + + module ProcessingCategory + extend Increase::Internal::Type::Enum + + # Account funding transactions are transactions used to e.g., fund an account or transfer funds between accounts. + ACCOUNT_FUNDING: :account_funding + + # Automatic fuel dispenser authorizations occur when a card is used at a gas pump, prior to the actual transaction amount being known. They are followed by an advice message that updates the amount of the pending transaction. + AUTOMATIC_FUEL_DISPENSER: :automatic_fuel_dispenser + + # A transaction used to pay a bill. + BILL_PAYMENT: :bill_payment + + # Original credit transactions are used to send money to a cardholder. + ORIGINAL_CREDIT: :original_credit + + # A regular purchase. + PURCHASE: :purchase + + # Quasi-cash transactions represent purchases of items which may be convertible to cash. + QUASI_CASH: :quasi_cash + + # A refund card authorization, sometimes referred to as a credit voucher authorization, where funds are credited to the cardholder. + REFUND: :refund + + # Cash disbursement transactions are used to withdraw cash from an ATM or a point of sale. + CASH_DISBURSEMENT: :cash_disbursement + + # The processing category is unknown. + UNKNOWN: :unknown + + def self?.values: -> ::Array[Increase::Models::CardPayment::Element::CardDecline::processing_category] + end + + type real_time_decision_reason = + :insufficient_funds + | :transaction_never_allowed + | :exceeds_approval_limit + | :card_temporarily_disabled + | :suspected_fraud + | :other + + module RealTimeDecisionReason + extend Increase::Internal::Type::Enum + + # The cardholder does not have sufficient funds to cover the transaction. The merchant may attempt to process the transaction again. + INSUFFICIENT_FUNDS: :insufficient_funds + + # This type of transaction is not allowed for this card. This transaction should not be retried. + TRANSACTION_NEVER_ALLOWED: :transaction_never_allowed + + # The transaction amount exceeds the cardholder's approval limit. The merchant may attempt to process the transaction again. + EXCEEDS_APPROVAL_LIMIT: :exceeds_approval_limit + + # The card has been temporarily disabled or not yet activated. The merchant may attempt to process the transaction again. + CARD_TEMPORARILY_DISABLED: :card_temporarily_disabled + + # The transaction is suspected to be fraudulent. The merchant may attempt to process the transaction again. + SUSPECTED_FRAUD: :suspected_fraud + + # The transaction was declined for another reason. The merchant may attempt to process the transaction again. This should be used sparingly. + OTHER: :other + + def self?.values: -> ::Array[Increase::Models::CardPayment::Element::CardDecline::real_time_decision_reason] + end + + type reason = + :account_closed + | :card_not_active + | :card_canceled + | :physical_card_not_active + | :entity_not_active + | :group_locked + | :insufficient_funds + | :cvv2_mismatch + | :pin_mismatch + | :card_expiration_mismatch + | :transaction_not_allowed + | :breaches_limit + | :webhook_declined + | :webhook_timed_out + | :declined_by_stand_in_processing + | :invalid_physical_card + | :missing_original_authorization + | :failed_3ds_authentication + | :suspected_card_testing + | :suspected_fraud + + module Reason + extend Increase::Internal::Type::Enum + + # The account has been closed. + ACCOUNT_CLOSED: :account_closed + + # The Card was not active. + CARD_NOT_ACTIVE: :card_not_active + + # The Card has been canceled. + CARD_CANCELED: :card_canceled + + # The Physical Card was not active. + PHYSICAL_CARD_NOT_ACTIVE: :physical_card_not_active + + # The account's entity was not active. + ENTITY_NOT_ACTIVE: :entity_not_active + + # The account was inactive. + GROUP_LOCKED: :group_locked + + # The Card's Account did not have a sufficient available balance. + INSUFFICIENT_FUNDS: :insufficient_funds + + # The given CVV2 did not match the card's value. + CVV2_MISMATCH: :cvv2_mismatch + + # The given PIN did not match the card's value. + PIN_MISMATCH: :pin_mismatch + + # The given expiration date did not match the card's value. Only applies when a CVV2 is present. + CARD_EXPIRATION_MISMATCH: :card_expiration_mismatch + + # The attempted card transaction is not allowed per Increase's terms. + TRANSACTION_NOT_ALLOWED: :transaction_not_allowed + + # The transaction was blocked by a Limit. + BREACHES_LIMIT: :breaches_limit + + # Your application declined the transaction via webhook. + WEBHOOK_DECLINED: :webhook_declined + + # Your application webhook did not respond without the required timeout. + WEBHOOK_TIMED_OUT: :webhook_timed_out + + # Declined by stand-in processing. + DECLINED_BY_STAND_IN_PROCESSING: :declined_by_stand_in_processing + + # The card read had an invalid CVV, dCVV, or authorization request cryptogram. + INVALID_PHYSICAL_CARD: :invalid_physical_card + + # The original card authorization for this incremental authorization does not exist. + MISSING_ORIGINAL_AUTHORIZATION: :missing_original_authorization + + # The transaction was declined because the 3DS authentication failed. + FAILED_3DS_AUTHENTICATION: :failed_3ds_authentication + + # The transaction was suspected to be used by a card tester to test for valid card numbers. + SUSPECTED_CARD_TESTING: :suspected_card_testing + + # The transaction was suspected to be fraudulent. Please reach out to support@increase.com for more information. + SUSPECTED_FRAUD: :suspected_fraud + + def self?.values: -> ::Array[Increase::Models::CardPayment::Element::CardDecline::reason] + end + + type verification = + { + card_verification_code: Increase::CardPayment::Element::CardDecline::Verification::CardVerificationCode, + cardholder_address: Increase::CardPayment::Element::CardDecline::Verification::CardholderAddress + } + + class Verification < Increase::Internal::Type::BaseModel + attr_accessor card_verification_code: Increase::CardPayment::Element::CardDecline::Verification::CardVerificationCode + + attr_accessor cardholder_address: Increase::CardPayment::Element::CardDecline::Verification::CardholderAddress + + def initialize: ( + card_verification_code: Increase::CardPayment::Element::CardDecline::Verification::CardVerificationCode, + cardholder_address: Increase::CardPayment::Element::CardDecline::Verification::CardholderAddress + ) -> void + + def to_hash: -> { + card_verification_code: Increase::CardPayment::Element::CardDecline::Verification::CardVerificationCode, + cardholder_address: Increase::CardPayment::Element::CardDecline::Verification::CardholderAddress + } + + type card_verification_code = + { + result: Increase::Models::CardPayment::Element::CardDecline::Verification::CardVerificationCode::result + } + + class CardVerificationCode < Increase::Internal::Type::BaseModel + attr_accessor result: Increase::Models::CardPayment::Element::CardDecline::Verification::CardVerificationCode::result + + def initialize: ( + result: Increase::Models::CardPayment::Element::CardDecline::Verification::CardVerificationCode::result + ) -> void + + def to_hash: -> { + result: Increase::Models::CardPayment::Element::CardDecline::Verification::CardVerificationCode::result + } + + type result = :not_checked | :match | :no_match + + module Result + extend Increase::Internal::Type::Enum + + # No card verification code was provided in the authorization request. + NOT_CHECKED: :not_checked + + # The card verification code matched the one on file. + MATCH: :match + + # The card verification code did not match the one on file. + NO_MATCH: :no_match + + def self?.values: -> ::Array[Increase::Models::CardPayment::Element::CardDecline::Verification::CardVerificationCode::result] + end + end + + type cardholder_address = + { + :actual_line1 => String?, + actual_postal_code: String?, + :provided_line1 => String?, + provided_postal_code: String?, + result: Increase::Models::CardPayment::Element::CardDecline::Verification::CardholderAddress::result + } + + class CardholderAddress < Increase::Internal::Type::BaseModel + attr_accessor actual_line1: String? + + attr_accessor actual_postal_code: String? + + attr_accessor provided_line1: String? + + attr_accessor provided_postal_code: String? + + attr_accessor result: Increase::Models::CardPayment::Element::CardDecline::Verification::CardholderAddress::result + + def initialize: ( + actual_line1: String?, + actual_postal_code: String?, + provided_line1: String?, + provided_postal_code: String?, + result: Increase::Models::CardPayment::Element::CardDecline::Verification::CardholderAddress::result + ) -> void + + def to_hash: -> { + :actual_line1 => String?, + actual_postal_code: String?, + :provided_line1 => String?, + provided_postal_code: String?, + result: Increase::Models::CardPayment::Element::CardDecline::Verification::CardholderAddress::result + } + + type result = + :not_checked + | :postal_code_match_address_no_match + | :postal_code_no_match_address_match + | :match + | :no_match + | :postal_code_match_address_not_checked + + module Result + extend Increase::Internal::Type::Enum + + # No address information was provided in the authorization request. + NOT_CHECKED: :not_checked + + # Postal code matches, but the street address does not match or was not provided. + POSTAL_CODE_MATCH_ADDRESS_NO_MATCH: :postal_code_match_address_no_match + + # Postal code does not match, but the street address matches or was not provided. + POSTAL_CODE_NO_MATCH_ADDRESS_MATCH: :postal_code_no_match_address_match + + # Postal code and street address match. + MATCH: :match + + # Postal code and street address do not match. + NO_MATCH: :no_match + + # Postal code matches, but the street address was not verified. (deprecated) + POSTAL_CODE_MATCH_ADDRESS_NOT_CHECKED: :postal_code_match_address_not_checked + + def self?.values: -> ::Array[Increase::Models::CardPayment::Element::CardDecline::Verification::CardholderAddress::result] + end + end + end + end + + type card_financial = + { + id: String, + actioner: Increase::Models::CardPayment::Element::CardFinancial::actioner, + additional_amounts: Increase::CardPayment::Element::CardFinancial::AdditionalAmounts, + amount: Integer, + card_payment_id: String, + currency: Increase::Models::CardPayment::Element::CardFinancial::currency, + digital_wallet_token_id: String?, + direction: Increase::Models::CardPayment::Element::CardFinancial::direction, merchant_acceptor_id: String, merchant_category_code: String, merchant_city: String?, @@ -1341,40 +2253,36 @@ module Increase merchant_descriptor: String, merchant_postal_code: String?, merchant_state: String?, - network_details: Increase::CardPayment::Element::CardDecline::NetworkDetails, - network_identifiers: Increase::CardPayment::Element::CardDecline::NetworkIdentifiers, + network_details: Increase::CardPayment::Element::CardFinancial::NetworkDetails, + network_identifiers: Increase::CardPayment::Element::CardFinancial::NetworkIdentifiers, network_risk_score: Integer?, physical_card_id: String?, presentment_amount: Integer, presentment_currency: String, - processing_category: Increase::Models::CardPayment::Element::CardDecline::processing_category, + processing_category: Increase::Models::CardPayment::Element::CardFinancial::processing_category, real_time_decision_id: String?, - real_time_decision_reason: Increase::Models::CardPayment::Element::CardDecline::real_time_decision_reason?, - reason: Increase::Models::CardPayment::Element::CardDecline::reason, terminal_id: String?, - verification: Increase::CardPayment::Element::CardDecline::Verification + transaction_id: String, + type: Increase::Models::CardPayment::Element::CardFinancial::type_, + verification: Increase::CardPayment::Element::CardFinancial::Verification } - class CardDecline < Increase::Internal::Type::BaseModel + class CardFinancial < Increase::Internal::Type::BaseModel attr_accessor id: String - attr_accessor actioner: Increase::Models::CardPayment::Element::CardDecline::actioner + attr_accessor actioner: Increase::Models::CardPayment::Element::CardFinancial::actioner - attr_accessor additional_amounts: Increase::CardPayment::Element::CardDecline::AdditionalAmounts + attr_accessor additional_amounts: Increase::CardPayment::Element::CardFinancial::AdditionalAmounts attr_accessor amount: Integer attr_accessor card_payment_id: String - attr_accessor currency: Increase::Models::CardPayment::Element::CardDecline::currency - - attr_accessor declined_transaction_id: String + attr_accessor currency: Increase::Models::CardPayment::Element::CardFinancial::currency attr_accessor digital_wallet_token_id: String? - attr_accessor direction: Increase::Models::CardPayment::Element::CardDecline::direction - - attr_accessor incremented_card_authorization_id: String? + attr_accessor direction: Increase::Models::CardPayment::Element::CardFinancial::direction attr_accessor merchant_acceptor_id: String @@ -1390,9 +2298,9 @@ module Increase attr_accessor merchant_state: String? - attr_accessor network_details: Increase::CardPayment::Element::CardDecline::NetworkDetails + attr_accessor network_details: Increase::CardPayment::Element::CardFinancial::NetworkDetails - attr_accessor network_identifiers: Increase::CardPayment::Element::CardDecline::NetworkIdentifiers + attr_accessor network_identifiers: Increase::CardPayment::Element::CardFinancial::NetworkIdentifiers attr_accessor network_risk_score: Integer? @@ -1402,29 +2310,27 @@ module Increase attr_accessor presentment_currency: String - attr_accessor processing_category: Increase::Models::CardPayment::Element::CardDecline::processing_category + attr_accessor processing_category: Increase::Models::CardPayment::Element::CardFinancial::processing_category attr_accessor real_time_decision_id: String? - attr_accessor real_time_decision_reason: Increase::Models::CardPayment::Element::CardDecline::real_time_decision_reason? + attr_accessor terminal_id: String? - attr_accessor reason: Increase::Models::CardPayment::Element::CardDecline::reason + attr_accessor transaction_id: String - attr_accessor terminal_id: String? + attr_accessor type: Increase::Models::CardPayment::Element::CardFinancial::type_ - attr_accessor verification: Increase::CardPayment::Element::CardDecline::Verification + attr_accessor verification: Increase::CardPayment::Element::CardFinancial::Verification def initialize: ( id: String, - actioner: Increase::Models::CardPayment::Element::CardDecline::actioner, - additional_amounts: Increase::CardPayment::Element::CardDecline::AdditionalAmounts, + actioner: Increase::Models::CardPayment::Element::CardFinancial::actioner, + additional_amounts: Increase::CardPayment::Element::CardFinancial::AdditionalAmounts, amount: Integer, card_payment_id: String, - currency: Increase::Models::CardPayment::Element::CardDecline::currency, - declined_transaction_id: String, + currency: Increase::Models::CardPayment::Element::CardFinancial::currency, digital_wallet_token_id: String?, - direction: Increase::Models::CardPayment::Element::CardDecline::direction, - incremented_card_authorization_id: String?, + direction: Increase::Models::CardPayment::Element::CardFinancial::direction, merchant_acceptor_id: String, merchant_category_code: String, merchant_city: String?, @@ -1432,31 +2338,29 @@ module Increase merchant_descriptor: String, merchant_postal_code: String?, merchant_state: String?, - network_details: Increase::CardPayment::Element::CardDecline::NetworkDetails, - network_identifiers: Increase::CardPayment::Element::CardDecline::NetworkIdentifiers, + network_details: Increase::CardPayment::Element::CardFinancial::NetworkDetails, + network_identifiers: Increase::CardPayment::Element::CardFinancial::NetworkIdentifiers, network_risk_score: Integer?, physical_card_id: String?, presentment_amount: Integer, presentment_currency: String, - processing_category: Increase::Models::CardPayment::Element::CardDecline::processing_category, + processing_category: Increase::Models::CardPayment::Element::CardFinancial::processing_category, real_time_decision_id: String?, - real_time_decision_reason: Increase::Models::CardPayment::Element::CardDecline::real_time_decision_reason?, - reason: Increase::Models::CardPayment::Element::CardDecline::reason, terminal_id: String?, - verification: Increase::CardPayment::Element::CardDecline::Verification + transaction_id: String, + type: Increase::Models::CardPayment::Element::CardFinancial::type_, + verification: Increase::CardPayment::Element::CardFinancial::Verification ) -> void def to_hash: -> { id: String, - actioner: Increase::Models::CardPayment::Element::CardDecline::actioner, - additional_amounts: Increase::CardPayment::Element::CardDecline::AdditionalAmounts, + actioner: Increase::Models::CardPayment::Element::CardFinancial::actioner, + additional_amounts: Increase::CardPayment::Element::CardFinancial::AdditionalAmounts, amount: Integer, card_payment_id: String, - currency: Increase::Models::CardPayment::Element::CardDecline::currency, - declined_transaction_id: String, + currency: Increase::Models::CardPayment::Element::CardFinancial::currency, digital_wallet_token_id: String?, - direction: Increase::Models::CardPayment::Element::CardDecline::direction, - incremented_card_authorization_id: String?, + direction: Increase::Models::CardPayment::Element::CardFinancial::direction, merchant_acceptor_id: String, merchant_category_code: String, merchant_city: String?, @@ -1464,18 +2368,18 @@ module Increase merchant_descriptor: String, merchant_postal_code: String?, merchant_state: String?, - network_details: Increase::CardPayment::Element::CardDecline::NetworkDetails, - network_identifiers: Increase::CardPayment::Element::CardDecline::NetworkIdentifiers, + network_details: Increase::CardPayment::Element::CardFinancial::NetworkDetails, + network_identifiers: Increase::CardPayment::Element::CardFinancial::NetworkIdentifiers, network_risk_score: Integer?, physical_card_id: String?, presentment_amount: Integer, presentment_currency: String, - processing_category: Increase::Models::CardPayment::Element::CardDecline::processing_category, + processing_category: Increase::Models::CardPayment::Element::CardFinancial::processing_category, real_time_decision_id: String?, - real_time_decision_reason: Increase::Models::CardPayment::Element::CardDecline::real_time_decision_reason?, - reason: Increase::Models::CardPayment::Element::CardDecline::reason, terminal_id: String?, - verification: Increase::CardPayment::Element::CardDecline::Verification + transaction_id: String, + type: Increase::Models::CardPayment::Element::CardFinancial::type_, + verification: Increase::CardPayment::Element::CardFinancial::Verification } type actioner = :user | :increase | :network @@ -1492,68 +2396,68 @@ module Increase # This object was actioned by the network, through stand-in processing. NETWORK: :network - def self?.values: -> ::Array[Increase::Models::CardPayment::Element::CardDecline::actioner] + def self?.values: -> ::Array[Increase::Models::CardPayment::Element::CardFinancial::actioner] end type additional_amounts = { - clinic: Increase::CardPayment::Element::CardDecline::AdditionalAmounts::Clinic?, - dental: Increase::CardPayment::Element::CardDecline::AdditionalAmounts::Dental?, - original: Increase::CardPayment::Element::CardDecline::AdditionalAmounts::Original?, - prescription: Increase::CardPayment::Element::CardDecline::AdditionalAmounts::Prescription?, - surcharge: Increase::CardPayment::Element::CardDecline::AdditionalAmounts::Surcharge?, - total_cumulative: Increase::CardPayment::Element::CardDecline::AdditionalAmounts::TotalCumulative?, - total_healthcare: Increase::CardPayment::Element::CardDecline::AdditionalAmounts::TotalHealthcare?, - transit: Increase::CardPayment::Element::CardDecline::AdditionalAmounts::Transit?, - unknown: Increase::CardPayment::Element::CardDecline::AdditionalAmounts::Unknown?, - vision: Increase::CardPayment::Element::CardDecline::AdditionalAmounts::Vision? + clinic: Increase::CardPayment::Element::CardFinancial::AdditionalAmounts::Clinic?, + dental: Increase::CardPayment::Element::CardFinancial::AdditionalAmounts::Dental?, + original: Increase::CardPayment::Element::CardFinancial::AdditionalAmounts::Original?, + prescription: Increase::CardPayment::Element::CardFinancial::AdditionalAmounts::Prescription?, + surcharge: Increase::CardPayment::Element::CardFinancial::AdditionalAmounts::Surcharge?, + total_cumulative: Increase::CardPayment::Element::CardFinancial::AdditionalAmounts::TotalCumulative?, + total_healthcare: Increase::CardPayment::Element::CardFinancial::AdditionalAmounts::TotalHealthcare?, + transit: Increase::CardPayment::Element::CardFinancial::AdditionalAmounts::Transit?, + unknown: Increase::CardPayment::Element::CardFinancial::AdditionalAmounts::Unknown?, + vision: Increase::CardPayment::Element::CardFinancial::AdditionalAmounts::Vision? } class AdditionalAmounts < Increase::Internal::Type::BaseModel - attr_accessor clinic: Increase::CardPayment::Element::CardDecline::AdditionalAmounts::Clinic? + attr_accessor clinic: Increase::CardPayment::Element::CardFinancial::AdditionalAmounts::Clinic? - attr_accessor dental: Increase::CardPayment::Element::CardDecline::AdditionalAmounts::Dental? + attr_accessor dental: Increase::CardPayment::Element::CardFinancial::AdditionalAmounts::Dental? - attr_accessor original: Increase::CardPayment::Element::CardDecline::AdditionalAmounts::Original? + attr_accessor original: Increase::CardPayment::Element::CardFinancial::AdditionalAmounts::Original? - attr_accessor prescription: Increase::CardPayment::Element::CardDecline::AdditionalAmounts::Prescription? + attr_accessor prescription: Increase::CardPayment::Element::CardFinancial::AdditionalAmounts::Prescription? - attr_accessor surcharge: Increase::CardPayment::Element::CardDecline::AdditionalAmounts::Surcharge? + attr_accessor surcharge: Increase::CardPayment::Element::CardFinancial::AdditionalAmounts::Surcharge? - attr_accessor total_cumulative: Increase::CardPayment::Element::CardDecline::AdditionalAmounts::TotalCumulative? + attr_accessor total_cumulative: Increase::CardPayment::Element::CardFinancial::AdditionalAmounts::TotalCumulative? - attr_accessor total_healthcare: Increase::CardPayment::Element::CardDecline::AdditionalAmounts::TotalHealthcare? + attr_accessor total_healthcare: Increase::CardPayment::Element::CardFinancial::AdditionalAmounts::TotalHealthcare? - attr_accessor transit: Increase::CardPayment::Element::CardDecline::AdditionalAmounts::Transit? + attr_accessor transit: Increase::CardPayment::Element::CardFinancial::AdditionalAmounts::Transit? - attr_accessor unknown: Increase::CardPayment::Element::CardDecline::AdditionalAmounts::Unknown? + attr_accessor unknown: Increase::CardPayment::Element::CardFinancial::AdditionalAmounts::Unknown? - attr_accessor vision: Increase::CardPayment::Element::CardDecline::AdditionalAmounts::Vision? + attr_accessor vision: Increase::CardPayment::Element::CardFinancial::AdditionalAmounts::Vision? def initialize: ( - clinic: Increase::CardPayment::Element::CardDecline::AdditionalAmounts::Clinic?, - dental: Increase::CardPayment::Element::CardDecline::AdditionalAmounts::Dental?, - original: Increase::CardPayment::Element::CardDecline::AdditionalAmounts::Original?, - prescription: Increase::CardPayment::Element::CardDecline::AdditionalAmounts::Prescription?, - surcharge: Increase::CardPayment::Element::CardDecline::AdditionalAmounts::Surcharge?, - total_cumulative: Increase::CardPayment::Element::CardDecline::AdditionalAmounts::TotalCumulative?, - total_healthcare: Increase::CardPayment::Element::CardDecline::AdditionalAmounts::TotalHealthcare?, - transit: Increase::CardPayment::Element::CardDecline::AdditionalAmounts::Transit?, - unknown: Increase::CardPayment::Element::CardDecline::AdditionalAmounts::Unknown?, - vision: Increase::CardPayment::Element::CardDecline::AdditionalAmounts::Vision? + clinic: Increase::CardPayment::Element::CardFinancial::AdditionalAmounts::Clinic?, + dental: Increase::CardPayment::Element::CardFinancial::AdditionalAmounts::Dental?, + original: Increase::CardPayment::Element::CardFinancial::AdditionalAmounts::Original?, + prescription: Increase::CardPayment::Element::CardFinancial::AdditionalAmounts::Prescription?, + surcharge: Increase::CardPayment::Element::CardFinancial::AdditionalAmounts::Surcharge?, + total_cumulative: Increase::CardPayment::Element::CardFinancial::AdditionalAmounts::TotalCumulative?, + total_healthcare: Increase::CardPayment::Element::CardFinancial::AdditionalAmounts::TotalHealthcare?, + transit: Increase::CardPayment::Element::CardFinancial::AdditionalAmounts::Transit?, + unknown: Increase::CardPayment::Element::CardFinancial::AdditionalAmounts::Unknown?, + vision: Increase::CardPayment::Element::CardFinancial::AdditionalAmounts::Vision? ) -> void def to_hash: -> { - clinic: Increase::CardPayment::Element::CardDecline::AdditionalAmounts::Clinic?, - dental: Increase::CardPayment::Element::CardDecline::AdditionalAmounts::Dental?, - original: Increase::CardPayment::Element::CardDecline::AdditionalAmounts::Original?, - prescription: Increase::CardPayment::Element::CardDecline::AdditionalAmounts::Prescription?, - surcharge: Increase::CardPayment::Element::CardDecline::AdditionalAmounts::Surcharge?, - total_cumulative: Increase::CardPayment::Element::CardDecline::AdditionalAmounts::TotalCumulative?, - total_healthcare: Increase::CardPayment::Element::CardDecline::AdditionalAmounts::TotalHealthcare?, - transit: Increase::CardPayment::Element::CardDecline::AdditionalAmounts::Transit?, - unknown: Increase::CardPayment::Element::CardDecline::AdditionalAmounts::Unknown?, - vision: Increase::CardPayment::Element::CardDecline::AdditionalAmounts::Vision? + clinic: Increase::CardPayment::Element::CardFinancial::AdditionalAmounts::Clinic?, + dental: Increase::CardPayment::Element::CardFinancial::AdditionalAmounts::Dental?, + original: Increase::CardPayment::Element::CardFinancial::AdditionalAmounts::Original?, + prescription: Increase::CardPayment::Element::CardFinancial::AdditionalAmounts::Prescription?, + surcharge: Increase::CardPayment::Element::CardFinancial::AdditionalAmounts::Surcharge?, + total_cumulative: Increase::CardPayment::Element::CardFinancial::AdditionalAmounts::TotalCumulative?, + total_healthcare: Increase::CardPayment::Element::CardFinancial::AdditionalAmounts::TotalHealthcare?, + transit: Increase::CardPayment::Element::CardFinancial::AdditionalAmounts::Transit?, + unknown: Increase::CardPayment::Element::CardFinancial::AdditionalAmounts::Unknown?, + vision: Increase::CardPayment::Element::CardFinancial::AdditionalAmounts::Vision? } type clinic = { amount: Integer, currency: String } @@ -1700,7 +2604,7 @@ module Increase # US Dollar (USD) USD: :USD - def self?.values: -> ::Array[Increase::Models::CardPayment::Element::CardDecline::currency] + def self?.values: -> ::Array[Increase::Models::CardPayment::Element::CardFinancial::currency] end type direction = :settlement | :refund @@ -1714,33 +2618,33 @@ module Increase # A refund card authorization, sometimes referred to as a credit voucher authorization, where funds are credited to the cardholder. REFUND: :refund - def self?.values: -> ::Array[Increase::Models::CardPayment::Element::CardDecline::direction] + def self?.values: -> ::Array[Increase::Models::CardPayment::Element::CardFinancial::direction] end type network_details = { - category: Increase::Models::CardPayment::Element::CardDecline::NetworkDetails::category, + category: Increase::Models::CardPayment::Element::CardFinancial::NetworkDetails::category, pulse: top?, - visa: Increase::CardPayment::Element::CardDecline::NetworkDetails::Visa? + visa: Increase::CardPayment::Element::CardFinancial::NetworkDetails::Visa? } class NetworkDetails < Increase::Internal::Type::BaseModel - attr_accessor category: Increase::Models::CardPayment::Element::CardDecline::NetworkDetails::category + attr_accessor category: Increase::Models::CardPayment::Element::CardFinancial::NetworkDetails::category attr_accessor pulse: top? - attr_accessor visa: Increase::CardPayment::Element::CardDecline::NetworkDetails::Visa? + attr_accessor visa: Increase::CardPayment::Element::CardFinancial::NetworkDetails::Visa? def initialize: ( - category: Increase::Models::CardPayment::Element::CardDecline::NetworkDetails::category, + category: Increase::Models::CardPayment::Element::CardFinancial::NetworkDetails::category, pulse: top?, - visa: Increase::CardPayment::Element::CardDecline::NetworkDetails::Visa? + visa: Increase::CardPayment::Element::CardFinancial::NetworkDetails::Visa? ) -> void def to_hash: -> { - category: Increase::Models::CardPayment::Element::CardDecline::NetworkDetails::category, + category: Increase::Models::CardPayment::Element::CardFinancial::NetworkDetails::category, pulse: top?, - visa: Increase::CardPayment::Element::CardDecline::NetworkDetails::Visa? + visa: Increase::CardPayment::Element::CardFinancial::NetworkDetails::Visa? } type category = :visa | :pulse @@ -1754,33 +2658,33 @@ module Increase # Pulse PULSE: :pulse - def self?.values: -> ::Array[Increase::Models::CardPayment::Element::CardDecline::NetworkDetails::category] + def self?.values: -> ::Array[Increase::Models::CardPayment::Element::CardFinancial::NetworkDetails::category] end type visa = { - electronic_commerce_indicator: Increase::Models::CardPayment::Element::CardDecline::NetworkDetails::Visa::electronic_commerce_indicator?, - point_of_service_entry_mode: Increase::Models::CardPayment::Element::CardDecline::NetworkDetails::Visa::point_of_service_entry_mode?, - stand_in_processing_reason: Increase::Models::CardPayment::Element::CardDecline::NetworkDetails::Visa::stand_in_processing_reason? + electronic_commerce_indicator: Increase::Models::CardPayment::Element::CardFinancial::NetworkDetails::Visa::electronic_commerce_indicator?, + point_of_service_entry_mode: Increase::Models::CardPayment::Element::CardFinancial::NetworkDetails::Visa::point_of_service_entry_mode?, + stand_in_processing_reason: Increase::Models::CardPayment::Element::CardFinancial::NetworkDetails::Visa::stand_in_processing_reason? } class Visa < Increase::Internal::Type::BaseModel - attr_accessor electronic_commerce_indicator: Increase::Models::CardPayment::Element::CardDecline::NetworkDetails::Visa::electronic_commerce_indicator? + attr_accessor electronic_commerce_indicator: Increase::Models::CardPayment::Element::CardFinancial::NetworkDetails::Visa::electronic_commerce_indicator? - attr_accessor point_of_service_entry_mode: Increase::Models::CardPayment::Element::CardDecline::NetworkDetails::Visa::point_of_service_entry_mode? + attr_accessor point_of_service_entry_mode: Increase::Models::CardPayment::Element::CardFinancial::NetworkDetails::Visa::point_of_service_entry_mode? - attr_accessor stand_in_processing_reason: Increase::Models::CardPayment::Element::CardDecline::NetworkDetails::Visa::stand_in_processing_reason? + attr_accessor stand_in_processing_reason: Increase::Models::CardPayment::Element::CardFinancial::NetworkDetails::Visa::stand_in_processing_reason? def initialize: ( - electronic_commerce_indicator: Increase::Models::CardPayment::Element::CardDecline::NetworkDetails::Visa::electronic_commerce_indicator?, - point_of_service_entry_mode: Increase::Models::CardPayment::Element::CardDecline::NetworkDetails::Visa::point_of_service_entry_mode?, - stand_in_processing_reason: Increase::Models::CardPayment::Element::CardDecline::NetworkDetails::Visa::stand_in_processing_reason? + electronic_commerce_indicator: Increase::Models::CardPayment::Element::CardFinancial::NetworkDetails::Visa::electronic_commerce_indicator?, + point_of_service_entry_mode: Increase::Models::CardPayment::Element::CardFinancial::NetworkDetails::Visa::point_of_service_entry_mode?, + stand_in_processing_reason: Increase::Models::CardPayment::Element::CardFinancial::NetworkDetails::Visa::stand_in_processing_reason? ) -> void def to_hash: -> { - electronic_commerce_indicator: Increase::Models::CardPayment::Element::CardDecline::NetworkDetails::Visa::electronic_commerce_indicator?, - point_of_service_entry_mode: Increase::Models::CardPayment::Element::CardDecline::NetworkDetails::Visa::point_of_service_entry_mode?, - stand_in_processing_reason: Increase::Models::CardPayment::Element::CardDecline::NetworkDetails::Visa::stand_in_processing_reason? + electronic_commerce_indicator: Increase::Models::CardPayment::Element::CardFinancial::NetworkDetails::Visa::electronic_commerce_indicator?, + point_of_service_entry_mode: Increase::Models::CardPayment::Element::CardFinancial::NetworkDetails::Visa::point_of_service_entry_mode?, + stand_in_processing_reason: Increase::Models::CardPayment::Element::CardFinancial::NetworkDetails::Visa::stand_in_processing_reason? } type electronic_commerce_indicator = @@ -1820,7 +2724,7 @@ module Increase # Non-secure transaction: Use to identify an electronic commerce transaction that has no data protection. NON_SECURE_TRANSACTION: :non_secure_transaction - def self?.values: -> ::Array[Increase::Models::CardPayment::Element::CardDecline::NetworkDetails::Visa::electronic_commerce_indicator] + def self?.values: -> ::Array[Increase::Models::CardPayment::Element::CardFinancial::NetworkDetails::Visa::electronic_commerce_indicator] end type point_of_service_entry_mode = @@ -1868,7 +2772,7 @@ module Increase # Contact chip card, without card verification value INTEGRATED_CIRCUIT_CARD_NO_CVV: :integrated_circuit_card_no_cvv - def self?.values: -> ::Array[Increase::Models::CardPayment::Element::CardDecline::NetworkDetails::Visa::point_of_service_entry_mode] + def self?.values: -> ::Array[Increase::Models::CardPayment::Element::CardFinancial::NetworkDetails::Visa::point_of_service_entry_mode] end type stand_in_processing_reason = @@ -1904,7 +2808,7 @@ module Increase # An unspecific reason for stand-in processing. OTHER: :other - def self?.values: -> ::Array[Increase::Models::CardPayment::Element::CardDecline::NetworkDetails::Visa::stand_in_processing_reason] + def self?.values: -> ::Array[Increase::Models::CardPayment::Element::CardFinancial::NetworkDetails::Visa::stand_in_processing_reason] end end end @@ -1982,164 +2886,54 @@ module Increase # The processing category is unknown. UNKNOWN: :unknown - def self?.values: -> ::Array[Increase::Models::CardPayment::Element::CardDecline::processing_category] - end - - type real_time_decision_reason = - :insufficient_funds - | :transaction_never_allowed - | :exceeds_approval_limit - | :card_temporarily_disabled - | :suspected_fraud - | :other - - module RealTimeDecisionReason - extend Increase::Internal::Type::Enum - - # The cardholder does not have sufficient funds to cover the transaction. The merchant may attempt to process the transaction again. - INSUFFICIENT_FUNDS: :insufficient_funds - - # This type of transaction is not allowed for this card. This transaction should not be retried. - TRANSACTION_NEVER_ALLOWED: :transaction_never_allowed - - # The transaction amount exceeds the cardholder's approval limit. The merchant may attempt to process the transaction again. - EXCEEDS_APPROVAL_LIMIT: :exceeds_approval_limit - - # The card has been temporarily disabled or not yet activated. The merchant may attempt to process the transaction again. - CARD_TEMPORARILY_DISABLED: :card_temporarily_disabled - - # The transaction is suspected to be fraudulent. The merchant may attempt to process the transaction again. - SUSPECTED_FRAUD: :suspected_fraud - - # The transaction was declined for another reason. The merchant may attempt to process the transaction again. This should be used sparingly. - OTHER: :other - - def self?.values: -> ::Array[Increase::Models::CardPayment::Element::CardDecline::real_time_decision_reason] + def self?.values: -> ::Array[Increase::Models::CardPayment::Element::CardFinancial::processing_category] end - type reason = - :account_closed - | :card_not_active - | :card_canceled - | :physical_card_not_active - | :entity_not_active - | :group_locked - | :insufficient_funds - | :cvv2_mismatch - | :pin_mismatch - | :card_expiration_mismatch - | :transaction_not_allowed - | :breaches_limit - | :webhook_declined - | :webhook_timed_out - | :declined_by_stand_in_processing - | :invalid_physical_card - | :missing_original_authorization - | :failed_3ds_authentication - | :suspected_card_testing - | :suspected_fraud + type type_ = :card_financial - module Reason + module Type extend Increase::Internal::Type::Enum - # The account has been closed. - ACCOUNT_CLOSED: :account_closed - - # The Card was not active. - CARD_NOT_ACTIVE: :card_not_active - - # The Card has been canceled. - CARD_CANCELED: :card_canceled - - # The Physical Card was not active. - PHYSICAL_CARD_NOT_ACTIVE: :physical_card_not_active - - # The account's entity was not active. - ENTITY_NOT_ACTIVE: :entity_not_active - - # The account was inactive. - GROUP_LOCKED: :group_locked - - # The Card's Account did not have a sufficient available balance. - INSUFFICIENT_FUNDS: :insufficient_funds - - # The given CVV2 did not match the card's value. - CVV2_MISMATCH: :cvv2_mismatch - - # The given PIN did not match the card's value. - PIN_MISMATCH: :pin_mismatch - - # The given expiration date did not match the card's value. Only applies when a CVV2 is present. - CARD_EXPIRATION_MISMATCH: :card_expiration_mismatch - - # The attempted card transaction is not allowed per Increase's terms. - TRANSACTION_NOT_ALLOWED: :transaction_not_allowed - - # The transaction was blocked by a Limit. - BREACHES_LIMIT: :breaches_limit - - # Your application declined the transaction via webhook. - WEBHOOK_DECLINED: :webhook_declined - - # Your application webhook did not respond without the required timeout. - WEBHOOK_TIMED_OUT: :webhook_timed_out - - # Declined by stand-in processing. - DECLINED_BY_STAND_IN_PROCESSING: :declined_by_stand_in_processing - - # The card read had an invalid CVV, dCVV, or authorization request cryptogram. - INVALID_PHYSICAL_CARD: :invalid_physical_card + CARD_FINANCIAL: :card_financial - # The original card authorization for this incremental authorization does not exist. - MISSING_ORIGINAL_AUTHORIZATION: :missing_original_authorization - - # The transaction was declined because the 3DS authentication failed. - FAILED_3DS_AUTHENTICATION: :failed_3ds_authentication - - # The transaction was suspected to be used by a card tester to test for valid card numbers. - SUSPECTED_CARD_TESTING: :suspected_card_testing - - # The transaction was suspected to be fraudulent. Please reach out to support@increase.com for more information. - SUSPECTED_FRAUD: :suspected_fraud - - def self?.values: -> ::Array[Increase::Models::CardPayment::Element::CardDecline::reason] + def self?.values: -> ::Array[Increase::Models::CardPayment::Element::CardFinancial::type_] end type verification = { - card_verification_code: Increase::CardPayment::Element::CardDecline::Verification::CardVerificationCode, - cardholder_address: Increase::CardPayment::Element::CardDecline::Verification::CardholderAddress + card_verification_code: Increase::CardPayment::Element::CardFinancial::Verification::CardVerificationCode, + cardholder_address: Increase::CardPayment::Element::CardFinancial::Verification::CardholderAddress } class Verification < Increase::Internal::Type::BaseModel - attr_accessor card_verification_code: Increase::CardPayment::Element::CardDecline::Verification::CardVerificationCode + attr_accessor card_verification_code: Increase::CardPayment::Element::CardFinancial::Verification::CardVerificationCode - attr_accessor cardholder_address: Increase::CardPayment::Element::CardDecline::Verification::CardholderAddress + attr_accessor cardholder_address: Increase::CardPayment::Element::CardFinancial::Verification::CardholderAddress def initialize: ( - card_verification_code: Increase::CardPayment::Element::CardDecline::Verification::CardVerificationCode, - cardholder_address: Increase::CardPayment::Element::CardDecline::Verification::CardholderAddress + card_verification_code: Increase::CardPayment::Element::CardFinancial::Verification::CardVerificationCode, + cardholder_address: Increase::CardPayment::Element::CardFinancial::Verification::CardholderAddress ) -> void def to_hash: -> { - card_verification_code: Increase::CardPayment::Element::CardDecline::Verification::CardVerificationCode, - cardholder_address: Increase::CardPayment::Element::CardDecline::Verification::CardholderAddress + card_verification_code: Increase::CardPayment::Element::CardFinancial::Verification::CardVerificationCode, + cardholder_address: Increase::CardPayment::Element::CardFinancial::Verification::CardholderAddress } type card_verification_code = { - result: Increase::Models::CardPayment::Element::CardDecline::Verification::CardVerificationCode::result + result: Increase::Models::CardPayment::Element::CardFinancial::Verification::CardVerificationCode::result } class CardVerificationCode < Increase::Internal::Type::BaseModel - attr_accessor result: Increase::Models::CardPayment::Element::CardDecline::Verification::CardVerificationCode::result + attr_accessor result: Increase::Models::CardPayment::Element::CardFinancial::Verification::CardVerificationCode::result def initialize: ( - result: Increase::Models::CardPayment::Element::CardDecline::Verification::CardVerificationCode::result + result: Increase::Models::CardPayment::Element::CardFinancial::Verification::CardVerificationCode::result ) -> void def to_hash: -> { - result: Increase::Models::CardPayment::Element::CardDecline::Verification::CardVerificationCode::result + result: Increase::Models::CardPayment::Element::CardFinancial::Verification::CardVerificationCode::result } type result = :not_checked | :match | :no_match @@ -2156,7 +2950,7 @@ module Increase # The card verification code did not match the one on file. NO_MATCH: :no_match - def self?.values: -> ::Array[Increase::Models::CardPayment::Element::CardDecline::Verification::CardVerificationCode::result] + def self?.values: -> ::Array[Increase::Models::CardPayment::Element::CardFinancial::Verification::CardVerificationCode::result] end end @@ -2166,7 +2960,7 @@ module Increase actual_postal_code: String?, :provided_line1 => String?, provided_postal_code: String?, - result: Increase::Models::CardPayment::Element::CardDecline::Verification::CardholderAddress::result + result: Increase::Models::CardPayment::Element::CardFinancial::Verification::CardholderAddress::result } class CardholderAddress < Increase::Internal::Type::BaseModel @@ -2178,14 +2972,14 @@ module Increase attr_accessor provided_postal_code: String? - attr_accessor result: Increase::Models::CardPayment::Element::CardDecline::Verification::CardholderAddress::result + attr_accessor result: Increase::Models::CardPayment::Element::CardFinancial::Verification::CardholderAddress::result def initialize: ( actual_line1: String?, actual_postal_code: String?, provided_line1: String?, provided_postal_code: String?, - result: Increase::Models::CardPayment::Element::CardDecline::Verification::CardholderAddress::result + result: Increase::Models::CardPayment::Element::CardFinancial::Verification::CardholderAddress::result ) -> void def to_hash: -> { @@ -2193,7 +2987,7 @@ module Increase actual_postal_code: String?, :provided_line1 => String?, provided_postal_code: String?, - result: Increase::Models::CardPayment::Element::CardDecline::Verification::CardholderAddress::result + result: Increase::Models::CardPayment::Element::CardFinancial::Verification::CardholderAddress::result } type result = @@ -2225,7 +3019,7 @@ module Increase # Postal code matches, but the street address was not verified. (deprecated) POSTAL_CODE_MATCH_ADDRESS_NOT_CHECKED: :postal_code_match_address_not_checked - def self?.values: -> ::Array[Increase::Models::CardPayment::Element::CardDecline::Verification::CardholderAddress::result] + def self?.values: -> ::Array[Increase::Models::CardPayment::Element::CardFinancial::Verification::CardholderAddress::result] end end end @@ -5779,6 +6573,7 @@ module Increase | :card_settlement | :card_refund | :card_fuel_confirmation + | :card_financial | :other module Category @@ -5814,6 +6609,9 @@ module Increase # Card Fuel Confirmation: details will be under the `card_fuel_confirmation` object. CARD_FUEL_CONFIRMATION: :card_fuel_confirmation + # Card Financial: details will be under the `card_financial` object. + CARD_FINANCIAL: :card_financial + # Unknown card payment element. OTHER: :other