Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
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'])])),
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")
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
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)
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")
@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")
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")
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")
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")
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):