Beispiel #1
0
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")
Beispiel #2
0
class HKIDN2(FinTS3Segment):
    """Identifikation, version 2

    Source: FinTS Financial Transaction Services, Schnittstellenspezifikation, Formals"""
    bank_identifier = DataElementGroupField(type=BankIdentifier,
                                            _d="Kreditinstitutskennung")
    customer_id = DataElementField(type='id', _d="Kunden-ID")
    system_id = DataElementField(type='id', _d="Kundensystem-ID")
    system_id_status = CodeField(enum=SystemIDStatus,
                                 length=1,
                                 _d="Kundensystem-Status")
Beispiel #3
0
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")
Beispiel #4
0
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")
Beispiel #5
0
class HKVVB3(FinTS3Segment):
    """Verarbeitungsvorbereitung, version 3

    Source: FinTS Financial Transaction Services, Schnittstellenspezifikation, Formals"""
    bpd_version = DataElementField(type='num', max_length=3, _d="BPD-Version")
    upd_version = DataElementField(type='num', max_length=3, _d="UPD-Version")
    language = CodeField(enum=Language2, max_length=3, _d="Dialogsprache")
    product_name = DataElementField(type='an',
                                    max_length=25,
                                    _d="Produktbezeichnung")
    product_version = DataElementField(type='an',
                                       max_length=5,
                                       _d="Produktversion")
Beispiel #6
0
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")
    # According to specification, statement_booked is a DEG with one binary XML *per day*. However, banks apparently
    # send just one XML instead.
    statement_booked = DataElementField(type='bin', _d="Gebuchte Umsätze")
    statement_pending = DataElementField(type='bin',
                                         required=False,
                                         _d="Nicht gebuchte Umsätze")
Beispiel #7
0
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")
    time = DataElementField(type='tim', _d="Uhrzeit")
    responses = DataElementGroupField(type=Response, _d="Rückmeldung")
Beispiel #8
0
class HKCCM1(FinTS3Segment):
    """SEPA-Sammelüberweisung, version 1

    Source: FinTS Financial Transaction Services, Schnittstellenspezifikation, Messages -- Multibankfähige Geschäftsvorfälle """
    account = DataElementGroupField(type=KTI1,
                                    _d="Kontoverbindung international")
    sum_amount = DataElementGroupField(type=Amount1, _d="Summenfeld")
    request_single_booking = DataElementField(type='jn',
                                              _d="Einzelbuchung gewünscht")
    sepa_descriptor = DataElementField(type='an',
                                       max_length=256,
                                       _d="SEPA Descriptor")
    sepa_pain_message = DataElementField(type='bin', _d="SEPA pain message")
Beispiel #9
0
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")
Beispiel #10
0
class HKPRO3(FinTS3Segment):
    """Statusprotokoll anfordern, version 3

    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")
Beispiel #11
0
class HITAN5(FinTS3Segment):
    """Zwei-Schritt-TAN-Einreichung Rückmeldung, version 5

    Source: FinTS Financial Transaction Services, Schnittstellenspezifikation, Sicherheitsverfahren PIN/TAN"""
    tan_process = DataElementField(type='code', length=1, _d="TAN-Prozess")
    task_hash_value = DataElementField(type='bin',
                                       max_length=256,
                                       required=False,
                                       _d="Auftrags-Hashwert")
    task_reference = DataElementField(type='an',
                                      max_length=35,
                                      required=False,
                                      _d="Auftragsreferenz")
    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_list_number = DataElementField(type='an',
                                       max_length=20,
                                       required=False,
                                       _d="TAN-Listennummer")
    ben = DataElementField(type='an', max_length=99, required=False, _d="BEN")
    tan_medium_name = DataElementField(type='an',
                                       max_length=32,
                                       required=False,
                                       _d="Bezeichnung des TAN-Mediums")
Beispiel #12
0
class HNHBK3(FinTS3Segment):
    """Nachrichtenkopf"""
    message_size = ZeroPaddedNumericField(
        length=12,
        _d="Größe der Nachricht (nach Verschlüsselung und Komprimierung)")
    hbci_version = DataElementField(type='num',
                                    max_length=3,
                                    _d="HBCI-Version")
    dialog_id = DataElementField(type='id', _d="Dialog-ID")
    message_number = DataElementField(type='num',
                                      max_length=4,
                                      _d="Nachrichtennummer")
    reference_message = DataElementGroupField(type=ReferenceMessage,
                                              required=False,
                                              _d="Bezugsnachricht")
Beispiel #13
0
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")
Beispiel #14
0
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")
Beispiel #15
0
class HNSHA2(FinTS3Segment):
    """Signaturabschluss, version 2

    Source: FinTS Financial Transaction Services, Sicherheitsverfahren HBCI"""
    security_reference = DataElementField(type='an',
                                          max_length=14,
                                          _d="Sicherheitskontrollreferenz")
    validation_result = DataElementField(type='bin',
                                         max_length=512,
                                         required=False,
                                         _d="Validierungsresultat")
    user_defined_signature = DataElementGroupField(
        type=UserDefinedSignature,
        required=False,
        _d="Benutzerdefinierte Signatur")
Beispiel #16
0
class HKKOM4(FinTS3Segment):
    """Kommunikationszugang anfordern, version 4

    Source: FinTS Financial Transaction Services, Schnittstellenspezifikation, Formals"""
    start_bank_identifier = DataElementGroupField(
        type=BankIdentifier, required=False, _d="Von Kreditinstitutskennung")
    end_bank_identifier = DataElementGroupField(
        type=BankIdentifier, required=False, _d="Bis Kreditinstitutskennung")
    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")
Beispiel #17
0
class HNVSK3(FinTS3Segment):
    """Verschlüsselungskopf, version 3

    Source: FinTS Financial Transaction Services, Sicherheitsverfahren HBCI"""
    security_profile = DataElementGroupField(type=SecurityProfile,
                                             _d="Sicherheitsprofil")
    security_function = DataElementField(type='code',
                                         max_length=3,
                                         _d="Sicherheitsfunktion, kodiert")
    security_role = CodeField(SecurityRole,
                              max_length=3,
                              _d="Rolle des Sicherheitslieferanten, kodiert")
    security_identification_details = DataElementGroupField(
        type=SecurityIdentificationDetails,
        _d="Sicherheitsidentifikation, Details")
    security_datetime = DataElementGroupField(
        type=SecurityDateTime, _d="Sicherheitsdatum und -uhrzeit")
    encryption_algorithm = DataElementGroupField(
        type=EncryptionAlgorithm, _d="Verschlüsselungsalgorithmus")
    key_name = DataElementGroupField(type=KeyName, _d="Schlüsselname")
    compression_function = CodeField(CompressionFunction,
                                     max_length=3,
                                     _d="Komprimierungsfunktion")
    certificate = DataElementGroupField(type=Certificate,
                                        required=False,
                                        _d="Zertifikat")
Beispiel #18
0
class HKKAZ7(FinTS3Segment):
    """Kontoumsätze anfordern/Zeitraum, version 7

    Source: FinTS Financial Transaction Services, Schnittstellenspezifikation, Messages -- Multibankfähige Geschäftsvorfälle """
    account = DataElementGroupField(type=KTI1,
                                    _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")
Beispiel #19
0
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")
Beispiel #20
0
class HKTAN5(FinTS3Segment):
    """Zwei-Schritt-TAN-Einreichung, version 5

    Source: FinTS Financial Transaction Services, Schnittstellenspezifikation, Sicherheitsverfahren PIN/TAN"""
    tan_process = DataElementField(type='code', length=1, _d="TAN-Prozess")
    segment_type = DataElementField(type='an',
                                    max_length=6,
                                    required=False,
                                    _d="Segmentkennung")
    account = DataElementGroupField(
        type=KTI1,
        required=False,
        _d="Kontoverbindung international Auftraggeber")
    task_hash_value = DataElementField(type='bin',
                                       max_length=256,
                                       required=False,
                                       _d="Auftrags-Hashwert")
    task_reference = DataElementField(type='an',
                                      max_length=35,
                                      required=False,
                                      _d="Auftragsreferenz")
    tan_list_number = DataElementField(type='an',
                                       max_length=20,
                                       required=False,
                                       _d="TAN-Listennummer")
    further_tan_follows = DataElementField(type='jn',
                                           length=1,
                                           required=False,
                                           _d="Weitere TAN folgt")
    cancel_task = DataElementField(type='jn',
                                   length=1,
                                   required=False,
                                   _d="Auftrag stornieren")
    sms_charge_account = DataElementGroupField(type=KTI1,
                                               required=False,
                                               _d="SMS-Abbuchungskonto")
    challenge_class = DataElementField(type='num',
                                       max_length=2,
                                       required=False,
                                       _d="Challenge-Klasse")
    parameter_challenge_class = DataElementGroupField(
        type=ParameterChallengeClass,
        required=False,
        _d="Parameter Challenge-Klasse")
    tan_medium_name = DataElementField(type='an',
                                       max_length=32,
                                       required=False,
                                       _d="Bezeichnung des TAN-Mediums")
Beispiel #21
0
class HIBPA3(FinTS3Segment):
    """Bankparameter allgemein, version 3

    Source: FinTS Financial Transaction Services, Schnittstellenspezifikation, Formals"""
    bpd_version = DataElementField(type='num', max_length=3, _d="BPD-Version")
    bank_identifier = DataElementGroupField(type=BankIdentifier,
                                            _d="Kreditinstitutskennung")
    bank_name = DataElementField(type='an',
                                 max_length=60,
                                 _d="Kreditinstitutsbezeichnung")
    number_tasks = DataElementField(
        type='num',
        max_length=3,
        _d="Anzahl Geschäftsvorfallarten pro Nachricht")
    supported_languages = DataElementGroupField(type=SupportedLanguages2,
                                                _d="Unterstützte Sprachen")
    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")
Beispiel #22
0
class HKTAN2(FinTS3Segment):
    """Zwei-Schritt-TAN-Einreichung, version 2

    Source: FinTS Financial Transaction Services, Schnittstellenspezifikation, Sicherheitsverfahren PIN/TAN"""
    tan_process = DataElementField(type='code', length=1, _d="TAN-Prozess")
    task_hash_value = DataElementField(type='bin', max_length=256, required=False, _d="Auftrags-Hashwert")
    task_reference = DataElementField(type='an', max_length=35, required=False, _d="Auftragsreferenz")
    tan_list_number = DataElementField(type='an', max_length=20, required=False, _d="TAN-Listennummer")
    further_tan_follows = DataElementField(type='jn', length=1, required=False, _d="Weitere TAN folgt")
    cancel_task = DataElementField(type='jn', length=1, required=False, _d="Auftrag stornieren")
    challenge_class = DataElementField(type='num', max_length=2, required=False, _d="Challenge-Klasse")
    parameter_challenge_class = DataElementGroupField(type=ParameterChallengeClass, required=False, _d="Parameter Challenge-Klasse")
Beispiel #23
0
class DKKKU2(FinTS3Segment):
    """Kreditkartenumsätze anfordern, version 2

    Source: Reverse engineered"""
    account = DataElementGroupField(type=Account2,
                                    _d="Kontoverbindung Auftraggeber")
    credit_card_number = DataElementField(type='an', _d="Kreditkartennummer")
    subaccount = DataElementField(type='an', required=False, _d="Subaccount?")
    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")
Beispiel #24
0
class HNHBS1(FinTS3Segment):
    """Nachrichtenabschluss"""
    message_number = DataElementField(type='num',
                                      max_length=4,
                                      _d="Nachrichtennummer")
Beispiel #25
0
class HIWPD5(FinTS3Segment):
    """Depotaufstellung rückmelden, version 5

    Source: HBCI Homebanking-Computer-Interface, Schnittstellenspezifikation"""
    holdings = DataElementField(type='bin', _d="Depotaufstellung")
Beispiel #26
0
class HIWPD6(FinTS3Segment):
    """Depotaufstellung rückmelden, version 6

    Source: FinTS Financial Transaction Services, Schnittstellenspezifikation, Messages -- Multibankfähige Geschäftsvorfälle """
    holdings = DataElementField(type='bin', _d="Depotaufstellung")