# This file was auto-generated by Fern from our API Definition.

import typing_extensions
import typing_extensions
import typing
from .ach_details import AchDetailsParams
from .error import ErrorParams


class BankAccountPaymentDetailsParams(typing_extensions.TypedDict):
    """
    Additional details about BANK_ACCOUNT type payments.
    """

    bank_name: typing_extensions.NotRequired[typing.Optional[str]]
    """
    The name of the bank associated with the bank account.
    """

    transfer_type: typing_extensions.NotRequired[typing.Optional[str]]
    """
    The type of the bank transfer. The type can be `ACH` or `UNKNOWN`.
    """

    account_ownership_type: typing_extensions.NotRequired[typing.Optional[str]]
    """
    The ownership type of the bank account performing the transfer.
    The type can be `INDIVIDUAL`, `COMPANY`, or `ACCOUNT_TYPE_UNKNOWN`.
    """

    fingerprint: typing_extensions.NotRequired[typing.Optional[str]]
    """
    Uniquely identifies the bank account for this seller and can be used
    to determine if payments are from the same bank account.
    """

    country: typing_extensions.NotRequired[typing.Optional[str]]
    """
    The two-letter ISO code representing the country the bank account is located in.
    """

    statement_description: typing_extensions.NotRequired[typing.Optional[str]]
    """
    The statement description as sent to the bank.
    """

    ach_details: typing_extensions.NotRequired[AchDetailsParams]
    """
    ACH-specific information about the transfer. The information is only populated
    if the `transfer_type` is `ACH`.
    """

    errors: typing_extensions.NotRequired[typing.Optional[typing.Sequence[ErrorParams]]]
    """
    Information about errors encountered during the request.
    """
