How to use the fints.segments.base.FinTS3Segment function in fints

To help you get started, we’ve selected a few fints examples, based on popular ways it is used in public projects.

Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.

github raphaelm / python-fints / tests / test_models.py View on Github external
signature_algorithm=fints.formals.SignatureAlgorithm(
                                                                                                                                                   usage_signature='6',
                                                                                                                                                   signature_algorithm='10',
                                                                                                                                                   operation_mode='16'),
                                                                                                                                               key_name=fints.formals.KeyName(
                                                                                                                                                   bank_identifier=fints.formals.BankIdentifier(
                                                                                                                                                       country_identifier='280',
                                                                                                                                                       bank_code='15050500'),
                                                                                                                                                   user_id='hermes',
                                                                                                                                                   key_type='S',
                                                                                                                                                   key_number=0,
                                                                                                                                                   key_version=0),
                                                                                                                                               certificate=fints.formals.Certificate(
                                                                                                                                                   certificate_type=None,
                                                                                                                                                   certificate_content=None)),
                                                                                                                                           fints.segments.base.FinTS3Segment(
                                                                                                                                               header=fints.formals.SegmentHeader(
                                                                                                                                                   'HIRMG', 3,
                                                                                                                                                   2, None),
                                                                                                                                               _additional_data=[
                                                                                                                                                   ['0010',
                                                                                                                                                    None,
                                                                                                                                                    'Nachricht entgegengenommen.'],
                                                                                                                                                   ['0100',
                                                                                                                                                    None,
                                                                                                                                                    'Dialog beendet.']]),
                                                                                                                                           fints.segments.base.FinTS3Segment(
                                                                                                                                               header=fints.formals.SegmentHeader(
                                                                                                                                                   'HNSHA', 4,
                                                                                                                                                   2, None),
                                                                                                                                               _additional_data=[
                                                                                                                                                   '9166926'])])),
github raphaelm / python-fints / fints / segments / saldo.py View on Github external
from fints.fields import DataElementField, DataElementGroupField
from fints.formals import (
    KTI1, Account2, Account3, Amount1, Balance1, Balance2, Timestamp1,
)

from .base import FinTS3Segment


class HKSAL5(FinTS3Segment):
    """Saldenabfrage, version 5

    Source: HBCI Homebanking-Computer-Interface, Schnittstellenspezifikation"""
    account = DataElementGroupField(type=Account2, _d="Kontoverbindung Auftraggeber")
    all_accounts = DataElementField(type='jn', _d="Alle Konten")
    max_number_responses = DataElementField(type='num', max_length=4, required=False, _d="Maximale Anzahl Einträge")
    touchdown_point = DataElementField(type='an', max_length=35, required=False, _d="Aufsetzpunkt")

class HISAL5(FinTS3Segment):
    """Saldenrückmeldung, version 5

    Source: HBCI Homebanking-Computer-Interface, Schnittstellenspezifikation"""
    account = DataElementGroupField(type=Account2, _d="Kontoverbindung Auftraggeber")
    account_product = DataElementField(type='an', max_length=30, _d="Kontoproduktbezeichnung")
    currency = DataElementField(type='cur', _d="Kontowährung")
    balance_booked = DataElementGroupField(type=Balance1, _d="Gebuchter Saldo")
github raphaelm / python-fints / fints / segments / bank.py View on Github external
supported_hbci_version = DataElementGroupField(type=SupportedHBCIVersions2, _d="Unterstützte HBCI-Versionen")
    max_message_length = DataElementField(type='num', max_length=4, required=False, _d="Maximale Nachrichtengröße")
    min_timeout = DataElementField(type='num', max_length=4, required=False, _d="Minimaler Timeout-Wert")
    max_timeout = DataElementField(type='num', max_length=4, required=False, _d="Maximaler Timeout-Wert")


class HIUPA4(FinTS3Segment):
    """Userparameter allgemein"""
    user_identifier = DataElementField(type='id', _d="Benutzerkennung")
    upd_version = DataElementField(type='num', max_length=3, _d="UPD-Version")
    upd_usage = CodeField(UPDUsage, length=1, _d="UPD-Verwendung")
    username = DataElementField(type='an', max_length=35, required=False, _d="Benutzername")
    extension = DataElementField(type='an', max_length=2048, required=False, _d="Erweiterung, allgemein")


class HIUPD6(FinTS3Segment):
    """Kontoinformationen"""
    account_information = DataElementGroupField(type=AccountInformation, required=False, _d="Kontoverbindung")
    iban = DataElementField(type='an', max_length=34, _d="IBAN")
    customer_id = DataElementField(type='id', _d="Kunden-ID")
    account_type = DataElementField(type='num', max_length=2, _d="Kontoart")
    account_currency = DataElementField(type='cur', _d="Kontowährung")
    name_account_owner_1 = DataElementField(type='an', max_length=27, _d="Name des Kontoinhabers 1")
    name_account_owner_2 = DataElementField(type='an', max_length=27, required=False, _d="Name des Kontoinhabers 2")
    account_product_name = DataElementField(type='an', max_length=30, required=False, _d="Kontoproduktbezeichnung")
    account_limit = DataElementGroupField(type=AccountLimit, required=False, _d="Kontolimit")
    allowed_transactions = DataElementGroupField(type=AllowedTransaction, count=999, required=False, _d="Erlaubte Geschäftsvorfälle")
    extension = DataElementField(type='an', max_length=2048, required=False, _d="Erweiterung, kontobezogen")


class HKKOM4(FinTS3Segment):
    """Kommunikationszugang anfordern, version 4
github raphaelm / python-fints / fints / segments / auth.py View on Github external
Source: FinTS Financial Transaction Services, Schnittstellenspezifikation, Sicherheitsverfahren PIN/TAN"""

    tan_usage_option = CodeField(enum=TANUsageOption, _d="TAN_Einsatzoption")
    tan_media_list = DataElementGroupField(type=TANMedia4, max_count=99, required=False, _d="TAN-Medium-Liste")


class HKTAB5(FinTS3Segment):
    """TAN-Generator/Liste anzeigen Bestand, version 5

    Source: FinTS Financial Transaction Services, Schnittstellenspezifikation, Sicherheitsverfahren PIN/TAN"""

    tan_media_type = CodeField(enum=TANMediaType2, _d="TAN-Medium-Art")
    tan_media_class = CodeField(enum=TANMediaClass4, _d="TAN-Medium-Klasse")


class HITAB5(FinTS3Segment):
    """TAN-Generator/Liste anzeigen Bestand Rückmeldung, version 5

    Source: FinTS Financial Transaction Services, Schnittstellenspezifikation, Sicherheitsverfahren PIN/TAN"""

    tan_usage_option = CodeField(enum=TANUsageOption, _d="TAN_Einsatzoption")
    tan_media_list = DataElementGroupField(type=TANMedia5, max_count=99, required=False, _d="TAN-Medium-Liste")


class HITANSBase(ParameterSegment):
    pass


class HITANS1(HITANSBase):
    parameter = DataElementGroupField(type=ParameterTwostepTAN1)

github raphaelm / python-fints / fints / segments / statement.py View on Github external
class HKCAZ1(FinTS3Segment):
    """Kontoumsätze anfordern/Zeitraum, version 5

    Source: HBCI Homebanking-Computer-Interface, Schnittstellenspezifikation"""
    account = DataElementGroupField(type=KTI1, _d="Kontoverbindung international")
    supported_camt_messages = DataElementGroupField(type=SupportedMessageTypes, _d="Kontoverbindung international")
    all_accounts = DataElementField(type='jn', _d="Alle Konten")
    date_start = DataElementField(type='dat', required=False, _d="Von Datum")
    date_end = DataElementField(type='dat', required=False, _d="Bis Datum")
    max_number_responses = DataElementField(type='num', max_length=4, required=False, _d="Maximale Anzahl Einträge")
    touchdown_point = DataElementField(type='an', max_length=35, required=False, _d="Aufsetzpunkt")


class HICAZ1(FinTS3Segment):
    """Kontoumsätze rückmelden/Zeitraum, version 1

    Source: HBCI Homebanking-Computer-Interface, Schnittstellenspezifikation"""
    account = DataElementGroupField(type=KTI1, _d="Kontoverbindung Auftraggeber")
    camt_descriptor = DataElementField(type='an', _d="camt-Deskriptor")
    statement_booked = DataElementGroupField(type=BookedCamtStatements1, _d="Gebuchte Umsätze")
    statement_pending = DataElementField(type='bin', required=False, _d="Nicht gebuchte Umsätze")
github raphaelm / python-fints / fints / segments / base.py View on Github external
    @classmethod
    def find_subclass(cls, segment):
        h = SegmentHeader.naive_parse(segment[0])
        target_cls = None

        for possible_cls in cls._all_subclasses():
            if getattr(possible_cls, 'TYPE', None) == h.type and getattr(possible_cls, 'VERSION', None) == h.version:
                target_cls = possible_cls

        if not target_cls:
            target_cls = cls

        return target_cls


class ParameterSegment_22(FinTS3Segment):
    max_number_tasks = DataElementField(type='num', max_length=3, _d="Maximale Anzahl Aufträge")
    min_number_signatures = DataElementField(type='num', length=1, _d="Anzahl Signaturen mindestens")


class ParameterSegment(FinTS3Segment):
    max_number_tasks = DataElementField(type='num', max_length=3, _d="Maximale Anzahl Aufträge")
    min_number_signatures = DataElementField(type='num', length=1, _d="Anzahl Signaturen mindestens")
    security_class = IntCodeField(SecurityClass, length=1, _d="Sicherheitsklasse")
github raphaelm / python-fints / fints / segments / journal.py View on Github external
Source: FinTS Financial Transaction Services, Schnittstellenspezifikation, Formals"""
    reference_message = DataElementGroupField(type=ReferenceMessage, _d="Bezugsnachricht")
    reference = DataElementField(type='num', max_length=3, required=False, _d='Bezugssegment')
    date = DataElementField(type='dat', _d="Datum")
    time = DataElementField(type='tim', _d="Uhrzeit")
    responses = DataElementGroupField(type=Response, _d="Rückmeldung")


class HIPROS3(ParameterSegment_22):
    """Statusprotokoll Parameter, version 3

    Source: FinTS Financial Transaction Services, Schnittstellenspezifikation, Formals"""


class HKPRO4(FinTS3Segment):
    """Statusprotokoll anfordern, version 4

    Source: FinTS Financial Transaction Services, Schnittstellenspezifikation, Formals"""
    date_start = DataElementField(type='dat', required=False, _d="Von Datum")
    date_end = DataElementField(type='dat', required=False, _d="Bis Datum")
    max_number_responses = DataElementField(type='num', max_length=4, required=False, _d="Maximale Anzahl Einträge")
    touchdown_point = DataElementField(type='an', max_length=35, required=False, _d="Aufsetzpunkt")


class HIPRO4(FinTS3Segment):
    """Statusprotokoll rückmelden, version 4

    Source: FinTS Financial Transaction Services, Schnittstellenspezifikation, Formals"""
    reference_message = DataElementGroupField(type=ReferenceMessage, _d="Bezugsnachricht")
    reference = DataElementField(type='num', max_length=3, required=False, _d='Bezugssegment')
    date = DataElementField(type='dat', _d="Datum")
github raphaelm / python-fints / fints / segments / statement.py View on Github external
from fints.fields import DataElementField, DataElementGroupField
from fints.formals import KTI1, Account2, Account3, QueryCreditCardStatements2, SupportedMessageTypes, \
    BookedCamtStatements1

from .base import FinTS3Segment, ParameterSegment


class HKKAZ5(FinTS3Segment):
    """Kontoumsätze anfordern/Zeitraum, version 5

    Source: HBCI Homebanking-Computer-Interface, Schnittstellenspezifikation"""
    account = DataElementGroupField(type=Account2, _d="Kontoverbindung Auftraggeber")
    all_accounts = DataElementField(type='jn', _d="Alle Konten")
    date_start = DataElementField(type='dat', required=False, _d="Von Datum")
    date_end = DataElementField(type='dat', required=False, _d="Bis Datum")
    max_number_responses = DataElementField(type='num', max_length=4, required=False, _d="Maximale Anzahl Einträge")
    touchdown_point = DataElementField(type='an', max_length=35, required=False, _d="Aufsetzpunkt")


class HIKAZ5(FinTS3Segment):
    """Kontoumsätze rückmelden/Zeitraum, version 5

    Source: HBCI Homebanking-Computer-Interface, Schnittstellenspezifikation"""
    statement_booked = DataElementField(type='bin', _d="Gebuchte Umsätze")
github raphaelm / python-fints / fints / segments / auth.py View on Github external
challenge = DataElementField(type='an', max_length=2048, required=False, _d="Challenge")
    challenge_hhduc = DataElementField(type='bin', required=False, _d="Challenge HHD_UC")
    challenge_valid_until = DataElementGroupField(type=ChallengeValidUntil, required=False, _d="Gültigkeitsdatum und -uhrzeit für Challenge")
    tan_medium_name = DataElementField(type='an', max_length=32, required=False, _d="Bezeichnung des TAN-Mediums")


class HKTAB4(FinTS3Segment):
    """TAN-Generator/Liste anzeigen Bestand, version 4

    Source: FinTS Financial Transaction Services, Schnittstellenspezifikation, Sicherheitsverfahren PIN/TAN"""

    tan_media_type = CodeField(enum=TANMediaType2, _d="TAN-Medium-Art")
    tan_media_class = CodeField(enum=TANMediaClass3, _d="TAN-Medium-Klasse")


class HITAB4(FinTS3Segment):
    """TAN-Generator/Liste anzeigen Bestand Rückmeldung, version 4

    Source: FinTS Financial Transaction Services, Schnittstellenspezifikation, Sicherheitsverfahren PIN/TAN"""

    tan_usage_option = CodeField(enum=TANUsageOption, _d="TAN_Einsatzoption")
    tan_media_list = DataElementGroupField(type=TANMedia4, max_count=99, required=False, _d="TAN-Medium-Liste")


class HKTAB5(FinTS3Segment):
    """TAN-Generator/Liste anzeigen Bestand, version 5

    Source: FinTS Financial Transaction Services, Schnittstellenspezifikation, Sicherheitsverfahren PIN/TAN"""

    tan_media_type = CodeField(enum=TANMediaType2, _d="TAN-Medium-Art")
    tan_media_class = CodeField(enum=TANMediaClass4, _d="TAN-Medium-Klasse")
github raphaelm / python-fints / fints / segments / saldo.py View on Github external
available_amount = DataElementGroupField(type=Amount1, required=False, _d="Verfügbarer Betrag")
    used_amount = DataElementGroupField(type=Amount1, required=False, _d="Bereits verfügter Betrag")
    booking_date = DataElementField(type='dat', required=False, _d="Buchungsdatum des Saldos")
    booking_time = DataElementField(type='tim', required=False, _d="Buchungsuhrzeit des Saldos")
    date_due = DataElementField(type='dat', required=False, _d="Fälligkeit")

class HKSAL6(FinTS3Segment):
    """Saldenabfrage, version 6

    Source: FinTS Financial Transaction Services, Schnittstellenspezifikation, Messages -- Multibankfähige Geschäftsvorfälle """
    account = DataElementGroupField(type=Account3, _d="Kontoverbindung Auftraggeber")
    all_accounts = DataElementField(type='jn', _d="Alle Konten")
    max_number_responses = DataElementField(type='num', max_length=4, required=False, _d="Maximale Anzahl Einträge")
    touchdown_point = DataElementField(type='an', max_length=35, required=False, _d="Aufsetzpunkt")

class HISAL6(FinTS3Segment):
    """Saldenrückmeldung, version 6

    Source: FinTS Financial Transaction Services, Schnittstellenspezifikation, Messages -- Multibankfähige Geschäftsvorfälle """
    account = DataElementGroupField(type=Account3, _d="Kontoverbindung Auftraggeber")
    account_product = DataElementField(type='an', max_length=30, _d="Kontoproduktbezeichnung")
    currency = DataElementField(type='cur', _d="Kontowährung")
    balance_booked = DataElementGroupField(type=Balance2, _d="Gebuchter Saldo")
    balance_pending = DataElementGroupField(type=Balance2, required=False, _d="Saldo der vorgemerkten Umsätze")
    line_of_credit = DataElementGroupField(type=Amount1, required=False, _d="Kreditlinie")
    available_amount = DataElementGroupField(type=Amount1, required=False, _d="Verfügbarer Betrag")
    used_amount = DataElementGroupField(type=Amount1, required=False, _d="Bereits verfügter Betrag")
    overdraft = DataElementGroupField(type=Amount1, required=False, _d="Überziehung")
    booking_timestamp = DataElementGroupField(type=Timestamp1, required=False, _d="Buchungszeitpunkt")
    date_due = DataElementField(type='dat', required=False, _d="Fälligkeit")

class HKSAL7(FinTS3Segment):