Source code for fints.segments.auth

from fints.fields import CodeField, DataElementField, DataElementGroupField
from fints.formals import (
    KTI1, BankIdentifier, ChallengeValidUntil, Language2,
    ParameterChallengeClass, ParameterPinTan, ParameterTwostepTAN1,
    ParameterTwostepTAN2, ParameterTwostepTAN3, ParameterTwostepTAN4,
    ParameterTwostepTAN5, ParameterTwostepTAN6, ResponseHHDUC,
    SystemIDStatus, TANMedia4, TANMedia5, TANMediaClass3,
    TANMediaClass4, TANMediaType2, TANUsageOption,
)

from .base import FinTS3Segment, ParameterSegment


[docs]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")
[docs]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")
[docs]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")
[docs]class HKTAN3(FinTS3Segment): """Zwei-Schritt-TAN-Einreichung, version 3 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") tan_medium_name = DataElementField(type='an', max_length=32, required=False, _d="Bezeichnung des TAN-Mediums")
[docs]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")
[docs]class HKTAN6(FinTS3Segment): """Zwei-Schritt-TAN-Einreichung, version 6 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") 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") response_hhd_uc = DataElementGroupField(type=ResponseHHDUC, required=False, _d="Antwort HHD_UC")
[docs]class HITAN2(FinTS3Segment): """Zwei-Schritt-TAN-Einreichung Rückmeldung, 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") challenge = DataElementField(type='an', max_length=2048, required=False, _d="Challenge") 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")
[docs]class HITAN3(FinTS3Segment): """Zwei-Schritt-TAN-Einreichung Rückmeldung, version 3 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_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")
[docs]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")
[docs]class HITAN6(FinTS3Segment): """Zwei-Schritt-TAN-Einreichung Rückmeldung, version 6 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_medium_name = DataElementField(type='an', max_length=32, required=False, _d="Bezeichnung des TAN-Mediums")
[docs]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")
[docs]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")
[docs]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")
[docs]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")
[docs]class HITANSBase(ParameterSegment): pass
[docs]class HITANS1(HITANSBase): parameter = DataElementGroupField(type=ParameterTwostepTAN1)
[docs]class HITANS2(HITANSBase): parameter = DataElementGroupField(type=ParameterTwostepTAN2)
[docs]class HITANS3(HITANSBase): parameter = DataElementGroupField(type=ParameterTwostepTAN3)
[docs]class HITANS4(HITANSBase): parameter = DataElementGroupField(type=ParameterTwostepTAN4)
[docs]class HITANS5(HITANSBase): parameter = DataElementGroupField(type=ParameterTwostepTAN5)
[docs]class HITANS6(HITANSBase): parameter = DataElementGroupField(type=ParameterTwostepTAN6)
[docs]class HIPINS1(ParameterSegment): """PIN/TAN-spezifische Informationen, version 1 Source: FinTS Financial Transaction Services, Schnittstellenspezifikation, Sicherheitsverfahren PIN/TAN """ parameter = DataElementGroupField(type=ParameterPinTan, _d="Parameter PIN/TAN-spezifische Informationen")