"""visaacceptancemergedspec.

This file was automatically generated by APIMATIC v3.0 ( https://www.apimatic.io ).
"""

# ruff: noqa: E501
from visaacceptancemergedspec.api_helper import (
    APIHelper,
)
from visaacceptancemergedspec.models.authorization_options import (
    AuthorizationOptions,
)
from visaacceptancemergedspec.models.bank_transfer_options import (
    BankTransferOptions,
)
from visaacceptancemergedspec.models.capture_options import (
    CaptureOptions,
)
from visaacceptancemergedspec.models.electronic_benefits_transfer import (
    ElectronicBenefitsTransfer,
)
from visaacceptancemergedspec.models.japan_payment_options import (
    JapanPaymentOptions,
)
from visaacceptancemergedspec.models.loan_options import (
    LoanOptions,
)
from visaacceptancemergedspec.models.purchase_options import (
    PurchaseOptions,
)
from visaacceptancemergedspec.models.recurring_options import (
    RecurringOptions,
)


class ProcessingInformation(object):
    """Implementation of the 'ProcessingInformation' model.

    Attributes:
        action_list (List[str]): Array of actions (one or more) to be included in the
            payment to invoke bundled services along with payment.  Possible values
            are one or more of follows:   - `DECISION_SKIP`: Use this when you want
            to skip Decision Manager service(s).   - `TOKEN_CREATE`: Use this when
            you want to create a token from the card/bank data in your payment
            request.   - `CONSUMER_AUTHENTICATION`: Use this when you want to check
            if a card is enrolled in Payer Authentication along with your payment
            request.   - `VALIDATE_CONSUMER_AUTHENTICATION`: Use this after you
            acquire a Payer Authentication result that needs to be included for your
            payment request.    - `AP_INITIATE`: Use this when Alternative Payment
            Initiate service is requested.   - `WATCHLIST_SCREENING` : Use this when
            you want to call Watchlist Screening service.   - `AP_SALE` : Use this
            when Alternative Payment Sale service is requested.    - `AP_AUTH` : Use
            this when Alternative Payment Authorize service is requested.   -
            `AP_REAUTH` : Use this when Alternative Payment Reauthorize service is
            requested.
        enable_escrow_option (bool): Indicates whether to use the customer’s escrow
            agreement. Possible values: - `true`: yes, use the customer’s escrow
            agreement. - `false`: no, do not use the customer’s escrow agreement.
        action_token_types (List[str]): Visa Acceptance tokens types you are
            performing a create on. If not supplied the default token type for the
            merchants token vault will be used.  Valid values: - customer -
            paymentInstrument - instrumentIdentifier - shippingAddress
        bin_source (str): Bin Source File Identifier. Possible values: - itmx - rupay
        capture (bool): Indicates whether to also include a capture  in the submitted
            authorization request or not.  Possible values: - `true`: Include a
            capture with an authorization request. - `false`: (default) Do not
            include a capture with an authorization request.  #### Used by
            **Authorization and Capture** Optional field.
        processor_id (str): Value that identifies the processor/acquirer to use for
            the transaction. This value is supported only for **Visa Acceptance
            through VisaNet**.  Contact Visa Acceptance Customer Support to get the
            value for this field.
        business_application_id (str): Required for AFT and OCT transactions.  Given
            below is a list of all the BAI values available. However, the processors
            may support only few specific BAI values.  - AA : Account-to-account  -
            BB : Supplier Payments - BI : Bank-Initiated P2P Money Transfer - BP :
            Non-Card Bill Pay/Bill Pay - CD : Cash Deposit - CP : Credit card Bill
            Payment - FD : Funds disbursement  - FT : Funds transfer - GD :
            Government Disbursement - GP : Gambling payout (non-online gambling) - LO
            : Loyalty credits and rebates - MD : Merchant Settlement - OG : Online
            Gambling Payout - PD : Payroll and pension disbursement - PP :
            Person-to-Person or Peer-to-Peer - TU : Top up, prepaid load - WT :
            Digital wallet
        commerce_indicator (str): Type of transaction. Some payment card companies
            use this information when determining discount rates.  #### Used by
            **Authorization** Required payer authentication transactions; otherwise,
            optional. **Credit** Required for standalone credits on Chase Paymentech
            solutions; otherwise, optional.  The list of valid values in this field
            depends on your processor.  #### Ingenico ePayments When you omit this
            field for Ingenico ePayments, the processor uses the default transaction
            type they have on file for you instead of the default value   #### Card
            Present You must set this field to `retail`. This field is required for a
            card-present transaction. Note that this should ONLY be used when the
            cardholder and card are present at the time of the transaction. For all
            keyed transactions originated from a POS terminal where the cardholder
            and card are not present, commerceIndicator should be submitted as “moto"
        commerce_indicator_label (str): Type of transaction. Some payment card
            companies use this information when determining discount rates.  ####
            Used by **Authorization** Required payer authentication transactions;
            otherwise, optional. **Credit** Required for standalone credits on Chase
            Paymentech solutions; otherwise, optional.  The list of valid values in
            this field depends on your processor.  #### Ingenico ePayments When you
            omit this field for Ingenico ePayments, the processor uses the default
            transaction type they have on file for you instead of the default value
            #### Card Present You must set this field to `retail`. This field is
            required for a card-present transaction. Note that this should ONLY be
            used when the cardholder and card are present at the time of the
            transaction. For all keyed transactions originated from a POS terminal
            where the cardholder and card are not present, commerceIndicator should
            be submitted as `moto`
        payment_solution (str): Type of digital payment solution for the transaction.
            Possible Values:   - `visacheckout`: Visa Checkout. This value is
            required for Visa Checkout transactions. For details, see
            `payment_solution` field description in [Visa Checkout Using the REST
            API.](  - `001`: Apple Pay.  - `004`: Visa Acceptance In-App Solution.  -
            `005`: Masterpass. This value is required for Masterpass transactions on
            OmniPay Direct.   - `006`: Android Pay.  - `007`: Chase Pay.  - `008`:
            Samsung Pay.  - `012`: Google Pay.  - `013`: Visa Acceptance P2PE
            Decryption  - `014`: Mastercard credential on file (COF) payment network
            token. Returned in authorizations that use a payment network token
            associated with a TMS token.  - `015`: Visa credential on file (COF)
            payment network token. Returned in authorizations that use a payment
            network token associated with a TMS token.  - `027`: Click to Pay.
        reconciliation_id (str): Please check with Visa Acceptance customer support
            to see if your merchant account is configured correctly so you can
            include this field in your request. * For Payouts: max length for
            FDCCompass is String (22).
        link_id (str): Value that links the current authorization request to the
            original authorization request. Set this value to the ID that was
            returned in the reply message from the original authorization request.
            This value is used for:  - Partial authorizations - Split shipments
        purchase_level (str): Set this field to 3 to indicate that the request
            includes Level III data.
        transaction_timeout (int): The time-out limit in seconds for the transaction.
            The time-out limit starts when the customer is directed to the merchant
            URL that is included in the sale service response. The maximum value is
            99999 (about 27 hours). When the transaction times out, the payment
            system changes the status to abandoned.
        intents_id (str): Set to the value of the requestID field returned in the
            order service response.
        report_group (str): Attribute that lets you define custom grouping for your
            processor reports. This field is supported only for **Worldpay VAP**.
        visa_checkout_id (str): Identifier for the **Visa Checkout** order. Visa
            Checkout provides a unique order ID for every transaction in the Visa
            Checkout **callID** field.
        industry_data_type (str): Indicates that the transaction includes
            industry-specific data.  Possible Values: - `airline` - `restaurant` -
            `lodging` - `auto_rental` - `transit` - `healthcare_medical` -
            `healthcare_transit` - `transit`  #### Card Present, Airlines and Auto
            Rental You must set this field to `airline` in order for airline data to
            be sent to the processor. For example, if this field is not set to
            `airline` or is not included in the request, no airline data is sent to
            the processor.  You must set this field to `restaurant` in order for
            restaurant data to be sent to the processor. When this field is not set
            to `restaurant` or is not included in the request, no restaurant data is
            sent to the processor.  You must set this field to `auto_rental` in order
            for auto rental data to be sent to the processor. For example, if this
            field is not set to `auto_rental` or is not included in the request, no
            auto rental data is sent to the processor.  Restaurant data is supported
            only on Visa Acceptance through VisaNet.
        authorization_options (AuthorizationOptions): The model property of type
            AuthorizationOptions.
        capture_options (CaptureOptions): The model property of type CaptureOptions.
        recurring_options (RecurringOptions): The model property of type
            RecurringOptions.
        bank_transfer_options (BankTransferOptions): The model property of type
            BankTransferOptions.
        purchase_options (PurchaseOptions): The model property of type
            PurchaseOptions.
        electronic_benefits_transfer (ElectronicBenefitsTransfer): The model property
            of type ElectronicBenefitsTransfer.
        loan_options (LoanOptions): The model property of type LoanOptions.
        wallet_type (str): This field carries the wallet type in authorization
            requests and credit requests. Possible value are: - `101`: Masterpass
            remote payment. The customer created the wallet by manually interacting
            with a customer-controlled device such as a computer, tablet, or phone.
            This value is supported only for Masterpass transactions on Chase
            Paymentech Solutions and Visa Acceptance through VisaNet. - `102`:
            Masterpass remote near field communication (NFC) payment. The customer
            created the wallet by tapping a PayPass card or customer-controlled
            device at a contactless card reader. This value is supported only for
            card-present Masterpass transactions on Visa Acceptance through VisaNet.
            - `103`: Masterpass Apple Pay payment. The payment was made with a
            combination of Masterpass and Apple Pay. This value is supported only for
            Masterpass Apple Pay transactions on Visa Acceptance through VisaNet. -
            `216`: Masterpass Google Pay payment. The payment was made with a
            combination of Masterpass and Google Pay. This value is supported only
            for Masterpass Google Pay transactions on Visa Acceptance through
            VisaNet. - `217`: Masterpass Samsung Pay payment. The payment was made
            with a combination of Masterpass and Samsung Pay. This value is supported
            only for Masterpass Samsung Pay transactions on Visa Acceptance through
            VisaNet. - `SDW`: Staged digital wallet. An issuer or operator created
            the wallet. This value is supported only for Masterpass transactions on
            Chase Paymentech Solutions. - `VCIND`: Visa Checkout payment. This value
            is supported only on Visa Acceptance through VisaNet, FDC Compass, FDC
            Nashville Global, FDI Australia, and TSYS Acquiring Solutions. See
            Getting Started with Visa Checkout. For Visa Checkout transactions, the
            way Visa Acceptance processes the value for this field depends on the
            processor. See the Visa Checkout section below. For all other values,
            this field is a passthrough; therefore, Visa Acceptance does not verify
            the value or modify it in any way before sending it to the processor.
            Masterpass (101, 102, 103, 216, and 217): The Masterpass platform
            generates the wallet type value and passes it to you along with the
            customer’s checkout information.  Visa Checkout: This field is optional
            for Visa Checkout authorizations on FDI Australia. For all other
            processors, this field is required for Visa Checkout authorizations. For
            Visa Checkout transactions on the following processors, Visa Acceptance
            sends the value that the processor expects for this field:FDC Compass,FDC
            Nashville Global,FDI Australia,TSYS Acquiring Solutions For all other
            processors, this field is a passthrough; therefore, Visa Acceptance does
            not verify the value or modify it in any way before sending it to the
            processor. For incremental authorizations, this field is supported only
            for Mastercard and the supported values are 101 and 102. Payment card
            companies can introduce new values without notice. Your order management
            system should be able to process new values without problems.  Visa
            Acceptance through VisaNet When the value for this field is 101, 102,
            103, 216, or 217, it corresponds to the following data in the TC 33
            capture file5: Record: CP01 TCR6, Position: 88-90,  Field: Mastercard
            Wallet Identifier. When the value for this field is VCIND, it corresponds
            to the following data in the TC 33 capture file5: Record: CP01 TCR8,
            Position: 72-76, Field: Agent Unique ID.
        national_net_domestic_data (str): Supplementary domestic transaction
            information provided by the acquirer for National Net Settlement Service
            (NNSS) transactions. NNSS is a settlement service that Visa provides. For
            transactions on Visa Acceptance through VisaNet in countries that
            subscribe to NNSS: VisaNet clears transactions; VisaNet transfers funds
            to the acquirer after deducting processing fees and interchange fees.
            VisaNet settles transactions in the local pricing currency through a
            local financial institution. This field is supported only on Visa
            Acceptance through VisaNet for domestic data in Colombia
        japan_payment_options (JapanPaymentOptions): The model property of type
            JapanPaymentOptions.
        mobile_remote_payment_type (str): Type of payment initiated from a
            cardholder's mobile device. Possible values: - `1` :  Consumer-initiated
            remote purchase, face-to-face - `2` :  Consumer-initiated remote
            purchase, e-commerce - `3` :  Consumer-initiated remote purchase, mail
            order / telephone order - `4` :  Consumer-initiated bill pay - `5` :
            Consumer-initiated top up - `6` :  Consumer-initiated cash out - `7` :
            ATM triggered or agent-initiated cash out - `8` :  Merchant-initiated
            remote purchase, face-to-face - `9` :  Merchant-initiated remote
            purchase, e-commerce  This field is supported only for Mastercard
            transactions on Visa Acceptance through VisaNet.  Optional field.
            **Note** On Visa Acceptance through VisaNet, the value for this field
            corresponds to the following data in the TC 33 capture file: - Record:
            CP01 TCR6 - Position: 94 - Field: Mastercard Mobile Remote Payment
            Program Indicator  The TC 33 Capture file contains information about the
            purchases and refunds that a merchant submits to Visa Acceptance. Visa
            Acceptance through VisaNet creates the TC 33 Capture file at the end of
            the day and sends it to the merchant’s acquirer, who uses this
            information to facilitate end-of-day clearing processing with payment
            networks.
        extended_credit_total_count (str): A private national-use field submitted by
            acquirers and issuers in South Africa for South Africa-domestic
            (intra-country) authorizations and financial requests. Values for this
            field are 00 through 99.
        network_routing_order (str): On PIN Debit Gateways: This U.S.-only field is
            optionally used by  participants (merchants and acquirers) to specify the
            network access priority. VisaNet checks to determine if there are issuer
            routing preferences for any of the networks specified by the sharing
            group code. If an issuer preference exists for one of the specified debit
            networks, VisaNet makes a routing selection based on the issuer’s
            preference. If an issuer preference exists for more than one of the
            specified debit networks, or if no issuer preference exists, VisaNet
            makes a selection based on the acquirer’s routing priorities.  #### PIN
            debit Priority order of the networks through which he transaction will be
            routed. Set this value to a series of one-character network codes in your
            preferred order. This is a list of the network codes:  | Network | Code |
            | --- | --- | | Accel | E | | AFFN | U | | Alaska Option | 3 | | CU24 | C
            | | Interlink | G | | Maestro | 8 | | NETS | P | | NYCE | F | | Pulse | H
            | | Shazam | 7 | | Star | M | | Visa | V |  For example, if the Star
            network is your first preference and Pulse is your second preference, set
            this field to a value of `MH`.  When you do not include this value in
            your PIN debit request, the list of network codes from your account is
            used. **Note** This field is supported only for businesses located in the
            U.S.  Optional field for PIN debit credit or PIN debit purchase.
        pay_by_points_indicator (bool): Flag that indicates if the transaction is pay
            by points transaction true: Transaction uses loyalty points false:
            Transaction does not use loyalty points Default: false
        timeout (int): Minutes until a pending MyBank transaction will be timed out.
            Value must be between 5 and 30. Default is 5.
        is_return_auth_record_enabled (bool): Flag that indicates the functionality
            we are having for merchants for which auth is done through Visa
            Acceptance but settlement is done by themselves. true: functionality is
            supported. Processor should send raw processor auth response to Merchant.
            false: functionality is not supported. Default: false
        network_partner_id (str): Merchant payment gateway ID that is assigned by
            Mastercard and is provided by the acquirer when a registered merchant
            payment gateway service provider is involved in the transaction.  This
            field is supported for Visa Platform Connect.
        payment_type (str): Identifier for the payment type.
        enabler_id (str): Enablers are payment processing entities that are not
            acquiring members and are often the primary relationship owner with
            merchants and originators. Enablers own technical solutions through which
            the merchant or originator will access acceptance. The Enabler ID is a
            five-character hexadecimal identifier that will be used by Visa to
            identify enablers. Enabler ID assignment will be determined by Visa. Visa
            will communicate Enablers assignments to enablers.
        processing_instruction (str): The instruction to process an order. - default
            value: 'NO_INSTRUCTION' - 'ORDER_SAVED_EXPLICITLY'
        transaction_type_indicator (str): This field is used identify the type of
            payment transaction taking place. This field is applicable for MasterCard
            transactions only. Possible values: - 201- Mastercard Rebate - 202-
            rePower Load Value - 203- Gaming Re-pay - 204- General Person-to-Person -
            205- General Transfer to Own Account - 206- Agent Cash Out - 207- Payment
            of Own Credit Card Bill - 208- Business Disbursement - 209-
            Government/Non-Profit Disbursement - 210- Rapid Merchant Settlement -
            211- Cash in at ATM (Usage limited to specific countries) - 212- Cash in
            at Point of Sale (Usage limited to specific countries) - 213- General
            Business to Business Transfer - 214- Mastercard Merchant Presented QR -
            215- Mastercard Merchant Presented QR Refund Payment - 216- Utility
            Payments (for Brazil domestic use only) - 217- Government Services (for
            Brazil domestic use only) - 218- Mobile phone top-ups (for Brazil
            domestic use only) - 219- Coupon booklet payments (for Brazil domestic
            use only) - 220- General Person-to-Person Transfer - 221-
            Person-to-Person Transfer to Card Account - 222- General Transfer to Own
            Account - 223- Agent Cash Out - 224- Payment of Own Credit Card Bill -
            225- Business Disbursement - 226- Transfer to Own Staged Digital Wallet
            Account - 227- Transfer to Own Debit or Prepaid Account - 228- General
            Business-to-Business Transfer - 229- Installment-based repayment - 230-
            Mastercard ATM Cash Pick-Up Transaction - 231- Cryptocurrency - 232-
            High-risk Securities
        purpose_of_payment (str): This field is applicable for AFT and OCT
            transactions. For list of supported values, please refer to Developer
            Guide.
        language_code (str): Contains the ISO 639-2 defined language Code
        original_payment_id (str): This value is used for linking Authorization
            extension transaction to the original Authorization transaction  and for
            linking MIT (Merchant initiated transaction) with the respective CIT
            (Customer initiated transaction).
        additional_properties (Dict[str, Any]): The additional properties for the
            model.

    """

    # Create a mapping from Model property names to API property names
    _names = {
        "action_list": "actionList",
        "enable_escrow_option": "enableEscrowOption",
        "action_token_types": "actionTokenTypes",
        "bin_source": "binSource",
        "capture": "capture",
        "processor_id": "processorId",
        "business_application_id": "businessApplicationId",
        "commerce_indicator": "commerceIndicator",
        "commerce_indicator_label": "commerceIndicatorLabel",
        "payment_solution": "paymentSolution",
        "reconciliation_id": "reconciliationId",
        "link_id": "linkId",
        "purchase_level": "purchaseLevel",
        "transaction_timeout": "transactionTimeout",
        "intents_id": "intentsId",
        "report_group": "reportGroup",
        "visa_checkout_id": "visaCheckoutId",
        "industry_data_type": "industryDataType",
        "authorization_options": "authorizationOptions",
        "capture_options": "captureOptions",
        "recurring_options": "recurringOptions",
        "bank_transfer_options": "bankTransferOptions",
        "purchase_options": "purchaseOptions",
        "electronic_benefits_transfer": "electronicBenefitsTransfer",
        "loan_options": "loanOptions",
        "wallet_type": "walletType",
        "national_net_domestic_data": "nationalNetDomesticData",
        "japan_payment_options": "japanPaymentOptions",
        "mobile_remote_payment_type": "mobileRemotePaymentType",
        "extended_credit_total_count": "extendedCreditTotalCount",
        "network_routing_order": "networkRoutingOrder",
        "pay_by_points_indicator": "payByPointsIndicator",
        "timeout": "timeout",
        "is_return_auth_record_enabled": "isReturnAuthRecordEnabled",
        "network_partner_id": "networkPartnerId",
        "payment_type": "paymentType",
        "enabler_id": "enablerId",
        "processing_instruction": "processingInstruction",
        "transaction_type_indicator": "transactionTypeIndicator",
        "purpose_of_payment": "purposeOfPayment",
        "language_code": "languageCode",
        "original_payment_id": "originalPaymentId",
    }

    _optionals = [
        "action_list",
        "enable_escrow_option",
        "action_token_types",
        "bin_source",
        "capture",
        "processor_id",
        "business_application_id",
        "commerce_indicator",
        "commerce_indicator_label",
        "payment_solution",
        "reconciliation_id",
        "link_id",
        "purchase_level",
        "transaction_timeout",
        "intents_id",
        "report_group",
        "visa_checkout_id",
        "industry_data_type",
        "authorization_options",
        "capture_options",
        "recurring_options",
        "bank_transfer_options",
        "purchase_options",
        "electronic_benefits_transfer",
        "loan_options",
        "wallet_type",
        "national_net_domestic_data",
        "japan_payment_options",
        "mobile_remote_payment_type",
        "extended_credit_total_count",
        "network_routing_order",
        "pay_by_points_indicator",
        "timeout",
        "is_return_auth_record_enabled",
        "network_partner_id",
        "payment_type",
        "enabler_id",
        "processing_instruction",
        "transaction_type_indicator",
        "purpose_of_payment",
        "language_code",
        "original_payment_id",
    ]

    def __init__(
        self,
        action_list=APIHelper.SKIP,
        enable_escrow_option=APIHelper.SKIP,
        action_token_types=APIHelper.SKIP,
        bin_source=APIHelper.SKIP,
        capture=False,
        processor_id=APIHelper.SKIP,
        business_application_id=APIHelper.SKIP,
        commerce_indicator=APIHelper.SKIP,
        commerce_indicator_label=APIHelper.SKIP,
        payment_solution=APIHelper.SKIP,
        reconciliation_id=APIHelper.SKIP,
        link_id=APIHelper.SKIP,
        purchase_level=APIHelper.SKIP,
        transaction_timeout=APIHelper.SKIP,
        intents_id=APIHelper.SKIP,
        report_group=APIHelper.SKIP,
        visa_checkout_id=APIHelper.SKIP,
        industry_data_type=APIHelper.SKIP,
        authorization_options=APIHelper.SKIP,
        capture_options=APIHelper.SKIP,
        recurring_options=APIHelper.SKIP,
        bank_transfer_options=APIHelper.SKIP,
        purchase_options=APIHelper.SKIP,
        electronic_benefits_transfer=APIHelper.SKIP,
        loan_options=APIHelper.SKIP,
        wallet_type=APIHelper.SKIP,
        national_net_domestic_data=APIHelper.SKIP,
        japan_payment_options=APIHelper.SKIP,
        mobile_remote_payment_type=APIHelper.SKIP,
        extended_credit_total_count=APIHelper.SKIP,
        network_routing_order=APIHelper.SKIP,
        pay_by_points_indicator=APIHelper.SKIP,
        timeout=APIHelper.SKIP,
        is_return_auth_record_enabled=APIHelper.SKIP,
        network_partner_id=APIHelper.SKIP,
        payment_type=APIHelper.SKIP,
        enabler_id=APIHelper.SKIP,
        processing_instruction=APIHelper.SKIP,
        transaction_type_indicator=APIHelper.SKIP,
        purpose_of_payment=APIHelper.SKIP,
        language_code=APIHelper.SKIP,
        original_payment_id=APIHelper.SKIP,
        additional_properties=None):
        """Initialize a ProcessingInformation instance."""
        # Initialize members of the class
        if action_list is not APIHelper.SKIP:
            self.action_list = action_list
        if enable_escrow_option is not APIHelper.SKIP:
            self.enable_escrow_option = enable_escrow_option
        if action_token_types is not APIHelper.SKIP:
            self.action_token_types = action_token_types
        if bin_source is not APIHelper.SKIP:
            self.bin_source = bin_source
        self.capture = capture
        if processor_id is not APIHelper.SKIP:
            self.processor_id = processor_id
        if business_application_id is not APIHelper.SKIP:
            self.business_application_id = business_application_id
        if commerce_indicator is not APIHelper.SKIP:
            self.commerce_indicator = commerce_indicator
        if commerce_indicator_label is not APIHelper.SKIP:
            self.commerce_indicator_label = commerce_indicator_label
        if payment_solution is not APIHelper.SKIP:
            self.payment_solution = payment_solution
        if reconciliation_id is not APIHelper.SKIP:
            self.reconciliation_id = reconciliation_id
        if link_id is not APIHelper.SKIP:
            self.link_id = link_id
        if purchase_level is not APIHelper.SKIP:
            self.purchase_level = purchase_level
        if transaction_timeout is not APIHelper.SKIP:
            self.transaction_timeout = transaction_timeout
        if intents_id is not APIHelper.SKIP:
            self.intents_id = intents_id
        if report_group is not APIHelper.SKIP:
            self.report_group = report_group
        if visa_checkout_id is not APIHelper.SKIP:
            self.visa_checkout_id = visa_checkout_id
        if industry_data_type is not APIHelper.SKIP:
            self.industry_data_type = industry_data_type
        if authorization_options is not APIHelper.SKIP:
            self.authorization_options = authorization_options
        if capture_options is not APIHelper.SKIP:
            self.capture_options = capture_options
        if recurring_options is not APIHelper.SKIP:
            self.recurring_options = recurring_options
        if bank_transfer_options is not APIHelper.SKIP:
            self.bank_transfer_options = bank_transfer_options
        if purchase_options is not APIHelper.SKIP:
            self.purchase_options = purchase_options
        if electronic_benefits_transfer is not APIHelper.SKIP:
            self.electronic_benefits_transfer = electronic_benefits_transfer
        if loan_options is not APIHelper.SKIP:
            self.loan_options = loan_options
        if wallet_type is not APIHelper.SKIP:
            self.wallet_type = wallet_type
        if national_net_domestic_data is not APIHelper.SKIP:
            self.national_net_domestic_data = national_net_domestic_data
        if japan_payment_options is not APIHelper.SKIP:
            self.japan_payment_options = japan_payment_options
        if mobile_remote_payment_type is not APIHelper.SKIP:
            self.mobile_remote_payment_type = mobile_remote_payment_type
        if extended_credit_total_count is not APIHelper.SKIP:
            self.extended_credit_total_count = extended_credit_total_count
        if network_routing_order is not APIHelper.SKIP:
            self.network_routing_order = network_routing_order
        if pay_by_points_indicator is not APIHelper.SKIP:
            self.pay_by_points_indicator = pay_by_points_indicator
        if timeout is not APIHelper.SKIP:
            self.timeout = timeout
        if is_return_auth_record_enabled is not APIHelper.SKIP:
            self.is_return_auth_record_enabled = is_return_auth_record_enabled
        if network_partner_id is not APIHelper.SKIP:
            self.network_partner_id = network_partner_id
        if payment_type is not APIHelper.SKIP:
            self.payment_type = payment_type
        if enabler_id is not APIHelper.SKIP:
            self.enabler_id = enabler_id
        if processing_instruction is not APIHelper.SKIP:
            self.processing_instruction = processing_instruction
        if transaction_type_indicator is not APIHelper.SKIP:
            self.transaction_type_indicator = transaction_type_indicator
        if purpose_of_payment is not APIHelper.SKIP:
            self.purpose_of_payment = purpose_of_payment
        if language_code is not APIHelper.SKIP:
            self.language_code = language_code
        if original_payment_id is not APIHelper.SKIP:
            self.original_payment_id = original_payment_id

        # Add additional model properties to the instance
        if additional_properties is None:
            additional_properties = {}
        self.additional_properties = additional_properties

    @classmethod
    def from_dictionary(cls,
                        dictionary):
        """Create an instance of this model from a dictionary

        Args:
            dictionary (dictionary): A dictionary representation of the object
            as obtained from the deserialization of the server's response. The
            keys MUST match property names in the API description.

        Returns:
            object: An instance of this structure class.

        """
        if not isinstance(dictionary, dict) or dictionary is None:
            return None

        # Extract variables from the dictionary
        action_list =\
            dictionary.get("actionList")\
            if dictionary.get("actionList")\
                else APIHelper.SKIP
        enable_escrow_option =\
            dictionary.get("enableEscrowOption")\
            if "enableEscrowOption" in dictionary.keys()\
                else APIHelper.SKIP
        action_token_types =\
            dictionary.get("actionTokenTypes")\
            if dictionary.get("actionTokenTypes")\
                else APIHelper.SKIP
        bin_source =\
            dictionary.get("binSource")\
            if dictionary.get("binSource")\
                else APIHelper.SKIP
        capture =\
            dictionary.get("capture")\
            if dictionary.get("capture")\
                else False
        processor_id =\
            dictionary.get("processorId")\
            if dictionary.get("processorId")\
                else APIHelper.SKIP
        business_application_id =\
            dictionary.get("businessApplicationId")\
            if dictionary.get("businessApplicationId")\
                else APIHelper.SKIP
        commerce_indicator =\
            dictionary.get("commerceIndicator")\
            if dictionary.get("commerceIndicator")\
                else APIHelper.SKIP
        commerce_indicator_label =\
            dictionary.get("commerceIndicatorLabel")\
            if dictionary.get("commerceIndicatorLabel")\
                else APIHelper.SKIP
        payment_solution =\
            dictionary.get("paymentSolution")\
            if dictionary.get("paymentSolution")\
                else APIHelper.SKIP
        reconciliation_id =\
            dictionary.get("reconciliationId")\
            if dictionary.get("reconciliationId")\
                else APIHelper.SKIP
        link_id =\
            dictionary.get("linkId")\
            if dictionary.get("linkId")\
                else APIHelper.SKIP
        purchase_level =\
            dictionary.get("purchaseLevel")\
            if dictionary.get("purchaseLevel")\
                else APIHelper.SKIP
        transaction_timeout =\
            dictionary.get("transactionTimeout")\
            if dictionary.get("transactionTimeout")\
                else APIHelper.SKIP
        intents_id =\
            dictionary.get("intentsId")\
            if dictionary.get("intentsId")\
                else APIHelper.SKIP
        report_group =\
            dictionary.get("reportGroup")\
            if dictionary.get("reportGroup")\
                else APIHelper.SKIP
        visa_checkout_id =\
            dictionary.get("visaCheckoutId")\
            if dictionary.get("visaCheckoutId")\
                else APIHelper.SKIP
        industry_data_type =\
            dictionary.get("industryDataType")\
            if dictionary.get("industryDataType")\
                else APIHelper.SKIP
        authorization_options =\
            AuthorizationOptions.from_dictionary(
                dictionary.get("authorizationOptions"))\
                if "authorizationOptions" in dictionary.keys()\
                else APIHelper.SKIP
        capture_options =\
            CaptureOptions.from_dictionary(
                dictionary.get("captureOptions"))\
                if "captureOptions" in dictionary.keys()\
                else APIHelper.SKIP
        recurring_options =\
            RecurringOptions.from_dictionary(
                dictionary.get("recurringOptions"))\
                if "recurringOptions" in dictionary.keys()\
                else APIHelper.SKIP
        bank_transfer_options =\
            BankTransferOptions.from_dictionary(
                dictionary.get("bankTransferOptions"))\
                if "bankTransferOptions" in dictionary.keys()\
                else APIHelper.SKIP
        purchase_options =\
            PurchaseOptions.from_dictionary(
                dictionary.get("purchaseOptions"))\
                if "purchaseOptions" in dictionary.keys()\
                else APIHelper.SKIP
        electronic_benefits_transfer =\
            ElectronicBenefitsTransfer.from_dictionary(
                dictionary.get("electronicBenefitsTransfer"))\
                if "electronicBenefitsTransfer" in dictionary.keys()\
                else APIHelper.SKIP
        loan_options =\
            LoanOptions.from_dictionary(
                dictionary.get("loanOptions"))\
                if "loanOptions" in dictionary.keys()\
                else APIHelper.SKIP
        wallet_type =\
            dictionary.get("walletType")\
            if dictionary.get("walletType")\
                else APIHelper.SKIP
        national_net_domestic_data =\
            dictionary.get("nationalNetDomesticData")\
            if dictionary.get("nationalNetDomesticData")\
                else APIHelper.SKIP
        japan_payment_options =\
            JapanPaymentOptions.from_dictionary(
                dictionary.get("japanPaymentOptions"))\
                if "japanPaymentOptions" in dictionary.keys()\
                else APIHelper.SKIP
        mobile_remote_payment_type =\
            dictionary.get("mobileRemotePaymentType")\
            if dictionary.get("mobileRemotePaymentType")\
                else APIHelper.SKIP
        extended_credit_total_count =\
            dictionary.get("extendedCreditTotalCount")\
            if dictionary.get("extendedCreditTotalCount")\
                else APIHelper.SKIP
        network_routing_order =\
            dictionary.get("networkRoutingOrder")\
            if dictionary.get("networkRoutingOrder")\
                else APIHelper.SKIP
        pay_by_points_indicator =\
            dictionary.get("payByPointsIndicator")\
            if "payByPointsIndicator" in dictionary.keys()\
                else APIHelper.SKIP
        timeout =\
            dictionary.get("timeout")\
            if dictionary.get("timeout")\
                else APIHelper.SKIP
        is_return_auth_record_enabled =\
            dictionary.get("isReturnAuthRecordEnabled")\
            if "isReturnAuthRecordEnabled" in dictionary.keys()\
                else APIHelper.SKIP
        network_partner_id =\
            dictionary.get("networkPartnerId")\
            if dictionary.get("networkPartnerId")\
                else APIHelper.SKIP
        payment_type =\
            dictionary.get("paymentType")\
            if dictionary.get("paymentType")\
                else APIHelper.SKIP
        enabler_id =\
            dictionary.get("enablerId")\
            if dictionary.get("enablerId")\
                else APIHelper.SKIP
        processing_instruction =\
            dictionary.get("processingInstruction")\
            if dictionary.get("processingInstruction")\
                else APIHelper.SKIP
        transaction_type_indicator =\
            dictionary.get("transactionTypeIndicator")\
            if dictionary.get("transactionTypeIndicator")\
                else APIHelper.SKIP
        purpose_of_payment =\
            dictionary.get("purposeOfPayment")\
            if dictionary.get("purposeOfPayment")\
                else APIHelper.SKIP
        language_code =\
            dictionary.get("languageCode")\
            if dictionary.get("languageCode")\
                else APIHelper.SKIP
        original_payment_id =\
            dictionary.get("originalPaymentId")\
            if dictionary.get("originalPaymentId")\
                else APIHelper.SKIP

        additional_properties = APIHelper.get_additional_properties(
            dictionary={k: v for k, v in dictionary.items()
                        if k not in cls._names.values()},
            unboxing_function=lambda value: value)

        # Return an object of this model
        return cls(action_list,
                   enable_escrow_option,
                   action_token_types,
                   bin_source,
                   capture,
                   processor_id,
                   business_application_id,
                   commerce_indicator,
                   commerce_indicator_label,
                   payment_solution,
                   reconciliation_id,
                   link_id,
                   purchase_level,
                   transaction_timeout,
                   intents_id,
                   report_group,
                   visa_checkout_id,
                   industry_data_type,
                   authorization_options,
                   capture_options,
                   recurring_options,
                   bank_transfer_options,
                   purchase_options,
                   electronic_benefits_transfer,
                   loan_options,
                   wallet_type,
                   national_net_domestic_data,
                   japan_payment_options,
                   mobile_remote_payment_type,
                   extended_credit_total_count,
                   network_routing_order,
                   pay_by_points_indicator,
                   timeout,
                   is_return_auth_record_enabled,
                   network_partner_id,
                   payment_type,
                   enabler_id,
                   processing_instruction,
                   transaction_type_indicator,
                   purpose_of_payment,
                   language_code,
                   original_payment_id,
                   additional_properties)

    def __repr__(self):
        """Return a unambiguous string representation."""
        _action_list=(
            self.action_list
            if hasattr(self, "action_list")
            else None
        )
        _enable_escrow_option=(
            self.enable_escrow_option
            if hasattr(self, "enable_escrow_option")
            else None
        )
        _action_token_types=(
            self.action_token_types
            if hasattr(self, "action_token_types")
            else None
        )
        _bin_source=(
            self.bin_source
            if hasattr(self, "bin_source")
            else None
        )
        _capture=(
            self.capture
            if hasattr(self, "capture")
            else None
        )
        _processor_id=(
            self.processor_id
            if hasattr(self, "processor_id")
            else None
        )
        _business_application_id=(
            self.business_application_id
            if hasattr(self, "business_application_id")
            else None
        )
        _commerce_indicator=(
            self.commerce_indicator
            if hasattr(self, "commerce_indicator")
            else None
        )
        _commerce_indicator_label=(
            self.commerce_indicator_label
            if hasattr(self, "commerce_indicator_label")
            else None
        )
        _payment_solution=(
            self.payment_solution
            if hasattr(self, "payment_solution")
            else None
        )
        _reconciliation_id=(
            self.reconciliation_id
            if hasattr(self, "reconciliation_id")
            else None
        )
        _link_id=(
            self.link_id
            if hasattr(self, "link_id")
            else None
        )
        _purchase_level=(
            self.purchase_level
            if hasattr(self, "purchase_level")
            else None
        )
        _transaction_timeout=(
            self.transaction_timeout
            if hasattr(self, "transaction_timeout")
            else None
        )
        _intents_id=(
            self.intents_id
            if hasattr(self, "intents_id")
            else None
        )
        _report_group=(
            self.report_group
            if hasattr(self, "report_group")
            else None
        )
        _visa_checkout_id=(
            self.visa_checkout_id
            if hasattr(self, "visa_checkout_id")
            else None
        )
        _industry_data_type=(
            self.industry_data_type
            if hasattr(self, "industry_data_type")
            else None
        )
        _authorization_options=(
            self.authorization_options
            if hasattr(self, "authorization_options")
            else None
        )
        _capture_options=(
            self.capture_options
            if hasattr(self, "capture_options")
            else None
        )
        _recurring_options=(
            self.recurring_options
            if hasattr(self, "recurring_options")
            else None
        )
        _bank_transfer_options=(
            self.bank_transfer_options
            if hasattr(self, "bank_transfer_options")
            else None
        )
        _purchase_options=(
            self.purchase_options
            if hasattr(self, "purchase_options")
            else None
        )
        _electronic_benefits_transfer=(
            self.electronic_benefits_transfer
            if hasattr(self, "electronic_benefits_transfer")
            else None
        )
        _loan_options=(
            self.loan_options
            if hasattr(self, "loan_options")
            else None
        )
        _wallet_type=(
            self.wallet_type
            if hasattr(self, "wallet_type")
            else None
        )
        _national_net_domestic_data=(
            self.national_net_domestic_data
            if hasattr(self, "national_net_domestic_data")
            else None
        )
        _japan_payment_options=(
            self.japan_payment_options
            if hasattr(self, "japan_payment_options")
            else None
        )
        _mobile_remote_payment_type=(
            self.mobile_remote_payment_type
            if hasattr(self, "mobile_remote_payment_type")
            else None
        )
        _extended_credit_total_count=(
            self.extended_credit_total_count
            if hasattr(self, "extended_credit_total_count")
            else None
        )
        _network_routing_order=(
            self.network_routing_order
            if hasattr(self, "network_routing_order")
            else None
        )
        _pay_by_points_indicator=(
            self.pay_by_points_indicator
            if hasattr(self, "pay_by_points_indicator")
            else None
        )
        _timeout=(
            self.timeout
            if hasattr(self, "timeout")
            else None
        )
        _is_return_auth_record_enabled=(
            self.is_return_auth_record_enabled
            if hasattr(self, "is_return_auth_record_enabled")
            else None
        )
        _network_partner_id=(
            self.network_partner_id
            if hasattr(self, "network_partner_id")
            else None
        )
        _payment_type=(
            self.payment_type
            if hasattr(self, "payment_type")
            else None
        )
        _enabler_id=(
            self.enabler_id
            if hasattr(self, "enabler_id")
            else None
        )
        _processing_instruction=(
            self.processing_instruction
            if hasattr(self, "processing_instruction")
            else None
        )
        _transaction_type_indicator=(
            self.transaction_type_indicator
            if hasattr(self, "transaction_type_indicator")
            else None
        )
        _purpose_of_payment=(
            self.purpose_of_payment
            if hasattr(self, "purpose_of_payment")
            else None
        )
        _language_code=(
            self.language_code
            if hasattr(self, "language_code")
            else None
        )
        _original_payment_id=(
            self.original_payment_id
            if hasattr(self, "original_payment_id")
            else None
        )
        _additional_properties=self.additional_properties
        return (
            f"{self.__class__.__name__}("
            f"action_list={_action_list!r}, "
            f"enable_escrow_option={_enable_escrow_option!r}, "
            f"action_token_types={_action_token_types!r}, "
            f"bin_source={_bin_source!r}, "
            f"capture={_capture!r}, "
            f"processor_id={_processor_id!r}, "
            f"business_application_id={_business_application_id!r}, "
            f"commerce_indicator={_commerce_indicator!r}, "
            f"commerce_indicator_label={_commerce_indicator_label!r}, "
            f"payment_solution={_payment_solution!r}, "
            f"reconciliation_id={_reconciliation_id!r}, "
            f"link_id={_link_id!r}, "
            f"purchase_level={_purchase_level!r}, "
            f"transaction_timeout={_transaction_timeout!r}, "
            f"intents_id={_intents_id!r}, "
            f"report_group={_report_group!r}, "
            f"visa_checkout_id={_visa_checkout_id!r}, "
            f"industry_data_type={_industry_data_type!r}, "
            f"authorization_options={_authorization_options!r}, "
            f"capture_options={_capture_options!r}, "
            f"recurring_options={_recurring_options!r}, "
            f"bank_transfer_options={_bank_transfer_options!r}, "
            f"purchase_options={_purchase_options!r}, "
            f"electronic_benefits_transfer={_electronic_benefits_transfer!r}, "
            f"loan_options={_loan_options!r}, "
            f"wallet_type={_wallet_type!r}, "
            f"national_net_domestic_data={_national_net_domestic_data!r}, "
            f"japan_payment_options={_japan_payment_options!r}, "
            f"mobile_remote_payment_type={_mobile_remote_payment_type!r}, "
            f"extended_credit_total_count={_extended_credit_total_count!r}, "
            f"network_routing_order={_network_routing_order!r}, "
            f"pay_by_points_indicator={_pay_by_points_indicator!r}, "
            f"timeout={_timeout!r}, "
            f"is_return_auth_record_enabled={_is_return_auth_record_enabled!r}, "
            f"network_partner_id={_network_partner_id!r}, "
            f"payment_type={_payment_type!r}, "
            f"enabler_id={_enabler_id!r}, "
            f"processing_instruction={_processing_instruction!r}, "
            f"transaction_type_indicator={_transaction_type_indicator!r}, "
            f"purpose_of_payment={_purpose_of_payment!r}, "
            f"language_code={_language_code!r}, "
            f"original_payment_id={_original_payment_id!r}, "
            f"additional_properties={_additional_properties!r}, "
            f")"
        )

    def __str__(self):
        """Return a human-readable string representation."""
        _action_list=(
            self.action_list
            if hasattr(self, "action_list")
            else None
        )
        _enable_escrow_option=(
            self.enable_escrow_option
            if hasattr(self, "enable_escrow_option")
            else None
        )
        _action_token_types=(
            self.action_token_types
            if hasattr(self, "action_token_types")
            else None
        )
        _bin_source=(
            self.bin_source
            if hasattr(self, "bin_source")
            else None
        )
        _capture=(
            self.capture
            if hasattr(self, "capture")
            else None
        )
        _processor_id=(
            self.processor_id
            if hasattr(self, "processor_id")
            else None
        )
        _business_application_id=(
            self.business_application_id
            if hasattr(self, "business_application_id")
            else None
        )
        _commerce_indicator=(
            self.commerce_indicator
            if hasattr(self, "commerce_indicator")
            else None
        )
        _commerce_indicator_label=(
            self.commerce_indicator_label
            if hasattr(self, "commerce_indicator_label")
            else None
        )
        _payment_solution=(
            self.payment_solution
            if hasattr(self, "payment_solution")
            else None
        )
        _reconciliation_id=(
            self.reconciliation_id
            if hasattr(self, "reconciliation_id")
            else None
        )
        _link_id=(
            self.link_id
            if hasattr(self, "link_id")
            else None
        )
        _purchase_level=(
            self.purchase_level
            if hasattr(self, "purchase_level")
            else None
        )
        _transaction_timeout=(
            self.transaction_timeout
            if hasattr(self, "transaction_timeout")
            else None
        )
        _intents_id=(
            self.intents_id
            if hasattr(self, "intents_id")
            else None
        )
        _report_group=(
            self.report_group
            if hasattr(self, "report_group")
            else None
        )
        _visa_checkout_id=(
            self.visa_checkout_id
            if hasattr(self, "visa_checkout_id")
            else None
        )
        _industry_data_type=(
            self.industry_data_type
            if hasattr(self, "industry_data_type")
            else None
        )
        _authorization_options=(
            self.authorization_options
            if hasattr(self, "authorization_options")
            else None
        )
        _capture_options=(
            self.capture_options
            if hasattr(self, "capture_options")
            else None
        )
        _recurring_options=(
            self.recurring_options
            if hasattr(self, "recurring_options")
            else None
        )
        _bank_transfer_options=(
            self.bank_transfer_options
            if hasattr(self, "bank_transfer_options")
            else None
        )
        _purchase_options=(
            self.purchase_options
            if hasattr(self, "purchase_options")
            else None
        )
        _electronic_benefits_transfer=(
            self.electronic_benefits_transfer
            if hasattr(self, "electronic_benefits_transfer")
            else None
        )
        _loan_options=(
            self.loan_options
            if hasattr(self, "loan_options")
            else None
        )
        _wallet_type=(
            self.wallet_type
            if hasattr(self, "wallet_type")
            else None
        )
        _national_net_domestic_data=(
            self.national_net_domestic_data
            if hasattr(self, "national_net_domestic_data")
            else None
        )
        _japan_payment_options=(
            self.japan_payment_options
            if hasattr(self, "japan_payment_options")
            else None
        )
        _mobile_remote_payment_type=(
            self.mobile_remote_payment_type
            if hasattr(self, "mobile_remote_payment_type")
            else None
        )
        _extended_credit_total_count=(
            self.extended_credit_total_count
            if hasattr(self, "extended_credit_total_count")
            else None
        )
        _network_routing_order=(
            self.network_routing_order
            if hasattr(self, "network_routing_order")
            else None
        )
        _pay_by_points_indicator=(
            self.pay_by_points_indicator
            if hasattr(self, "pay_by_points_indicator")
            else None
        )
        _timeout=(
            self.timeout
            if hasattr(self, "timeout")
            else None
        )
        _is_return_auth_record_enabled=(
            self.is_return_auth_record_enabled
            if hasattr(self, "is_return_auth_record_enabled")
            else None
        )
        _network_partner_id=(
            self.network_partner_id
            if hasattr(self, "network_partner_id")
            else None
        )
        _payment_type=(
            self.payment_type
            if hasattr(self, "payment_type")
            else None
        )
        _enabler_id=(
            self.enabler_id
            if hasattr(self, "enabler_id")
            else None
        )
        _processing_instruction=(
            self.processing_instruction
            if hasattr(self, "processing_instruction")
            else None
        )
        _transaction_type_indicator=(
            self.transaction_type_indicator
            if hasattr(self, "transaction_type_indicator")
            else None
        )
        _purpose_of_payment=(
            self.purpose_of_payment
            if hasattr(self, "purpose_of_payment")
            else None
        )
        _language_code=(
            self.language_code
            if hasattr(self, "language_code")
            else None
        )
        _original_payment_id=(
            self.original_payment_id
            if hasattr(self, "original_payment_id")
            else None
        )
        _additional_properties=self.additional_properties
        return (
            f"{self.__class__.__name__}("
            f"action_list={_action_list!s}, "
            f"enable_escrow_option={_enable_escrow_option!s}, "
            f"action_token_types={_action_token_types!s}, "
            f"bin_source={_bin_source!s}, "
            f"capture={_capture!s}, "
            f"processor_id={_processor_id!s}, "
            f"business_application_id={_business_application_id!s}, "
            f"commerce_indicator={_commerce_indicator!s}, "
            f"commerce_indicator_label={_commerce_indicator_label!s}, "
            f"payment_solution={_payment_solution!s}, "
            f"reconciliation_id={_reconciliation_id!s}, "
            f"link_id={_link_id!s}, "
            f"purchase_level={_purchase_level!s}, "
            f"transaction_timeout={_transaction_timeout!s}, "
            f"intents_id={_intents_id!s}, "
            f"report_group={_report_group!s}, "
            f"visa_checkout_id={_visa_checkout_id!s}, "
            f"industry_data_type={_industry_data_type!s}, "
            f"authorization_options={_authorization_options!s}, "
            f"capture_options={_capture_options!s}, "
            f"recurring_options={_recurring_options!s}, "
            f"bank_transfer_options={_bank_transfer_options!s}, "
            f"purchase_options={_purchase_options!s}, "
            f"electronic_benefits_transfer={_electronic_benefits_transfer!s}, "
            f"loan_options={_loan_options!s}, "
            f"wallet_type={_wallet_type!s}, "
            f"national_net_domestic_data={_national_net_domestic_data!s}, "
            f"japan_payment_options={_japan_payment_options!s}, "
            f"mobile_remote_payment_type={_mobile_remote_payment_type!s}, "
            f"extended_credit_total_count={_extended_credit_total_count!s}, "
            f"network_routing_order={_network_routing_order!s}, "
            f"pay_by_points_indicator={_pay_by_points_indicator!s}, "
            f"timeout={_timeout!s}, "
            f"is_return_auth_record_enabled={_is_return_auth_record_enabled!s}, "
            f"network_partner_id={_network_partner_id!s}, "
            f"payment_type={_payment_type!s}, "
            f"enabler_id={_enabler_id!s}, "
            f"processing_instruction={_processing_instruction!s}, "
            f"transaction_type_indicator={_transaction_type_indicator!s}, "
            f"purpose_of_payment={_purpose_of_payment!s}, "
            f"language_code={_language_code!s}, "
            f"original_payment_id={_original_payment_id!s}, "
            f"additional_properties={_additional_properties!s}, "
            f")"
        )
