Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
class AccountLimit(DataElementGroup):
limit_type = DataElementField(type='code', length=1)
limit_amount = DataElementGroupField(type=Amount1, required=False)
limit_days = DataElementField(type='num', max_length=3, required=False)
class AllowedTransaction(DataElementGroup):
transaction = DataElementField(type='an', max_length=6)
required_signatures = DataElementField(type='num', max_length=2)
limit_type = DataElementField(type='code', length=1, required=False)
limit_amount = DataElementGroupField(type=Amount1, required=False)
limit_days = DataElementField(type='num', max_length=3, required=False)
class TANTimeDialogAssociation(RepresentableEnum):
NOT_ALLOWED = '1' #: TAN nicht zeitversetzt / dialogübergreifend erlaubt
ALLOWED = '2' #: TAN zeitversetzt / dialogübergreifend erlaubt
BOTH = '3' #: beide Verfahren unterstützt
NOT_APPLICABLE = '4' #: nicht zutreffend
class AllowedFormat(RepresentableEnum):
NUMERIC = '1' #: numerisch
ALPHANUMERIC = '2' #: alfanumerisch
class TANListNumberRequired(RepresentableEnum):
NO = '0' #: Nein
YES = '2' #: Ja
class SegmentHeader(ShortReprMixin, DataElementGroup):
"""Segmentkopf"""
type = AlphanumericField(max_length=6, _d='Segmentkennung')
number = NumericField(max_length=3, _d='Segmentnummer')
version = NumericField(max_length=3, _d='Segmentversion')
reference = NumericField(max_length=3, required=False, _d='Bezugssegment')
class ReferenceMessage(DataElementGroup):
dialog_id = DataElementField(type='id')
message_number = NumericField(max_length=4)
class SecurityMethod(RepresentableEnum):
DDV = 'DDV'
RAH = 'RAH'
RDH = 'RDH'
PIN = 'PIN'
class SecurityProfile(DataElementGroup):
"""Sicherheitsprofil"""
security_method = CodeField(enum=SecurityMethod, length=3, _d="Sicherheitsverfahren")
security_method_version = DataElementField(type='num', _d="Version des Sicherheitsverfahrens")
class IdentifiedRole(RepresentableEnum):
MS = '1' #: Message Sender
MR = '2' #: Message Receiver
Source: FinTS Financial Transaction Services, Schnittstellenspezifikation, Messages -- Multibankfähige Geschäftsvorfälle """
date = DataElementField(type='dat', _d="Datum")
time = DataElementField(type='tim', required=False, _d="Uhrzeit")
class TANMediaType2(RepresentableEnum):
"""TAN-Medium-Art
Source: FinTS Financial Transaction Services, Schnittstellenspezifikation, Sicherheitsverfahren PIN/TAN"""
ALL = '0' #: Alle
ACTIVE = '1' #: Aktiv
AVAILABLE = '2' #: Verfügbar
class TANMediaClass3(RepresentableEnum):
"""TAN-Medium-Klasse, version 3
Source: FinTS Financial Transaction Services, Schnittstellenspezifikation, Sicherheitsverfahren PIN/TAN"""
ALL = 'A' #: Alle Medien
LIST = 'L' #: Liste
GENERATOR = 'G' #: TAN-Generator
MOBILE = 'M' #: Mobiltelefon mit mobileTAN
SECODER = 'S' #: Secoder
class TANMediaClass4(RepresentableEnum):
"""TAN-Medium-Klasse, version 4
Source: FinTS Financial Transaction Services, Schnittstellenspezifikation, Sicherheitsverfahren PIN/TAN"""
Kennzeichen dafür, wie diejenigen Geschäftsvorfälle zu interpretieren sind, die bei der Beschreibung der Kontoinformationen nicht unter den erlaubten Geschäftsvorfällen aufgeführt sind.
Source: FinTS Financial Transaction Services, Schnittstellenspezifikation, Formals"""
UPD_CONCLUSIVE = '0' #: Die nicht aufgeführten Geschäftsvorfälle sind gesperrt
UPD_INCONCLUSIVE = '1' #: Bei nicht aufgeführten Geschäftsvorfällen ist keine Aussage möglich, ob diese erlaubt oder gesperrt sind
class SystemIDStatus(RepresentableEnum):
"""Kundensystem-Status, version 2
Source: FinTS Financial Transaction Services, Schnittstellenspezifikation, Formals"""
ID_UNNECESSARY = '0' #: Kundensystem-ID wird nicht benötigt
ID_NECESSARY = '1' #: Kundensystem-ID wird benötigt
class SynchronizationMode(RepresentableEnum):
"""Synchronisierungsmodus, version 2
Source: FinTS Financial Transaction Services, Schnittstellenspezifikation, Formals"""
NEW_SYSTEM_ID = '0' #: Neue Kundensystem-ID zurückmelden
LAST_MESSAGE = '1' #: Letzte verarbeitete Nachrichtennummer zurückmelden
SIGNATURE_ID = '2' #: Signatur-ID zurückmelden
class CreditDebit2(RepresentableEnum):
"""Soll-Haben-Kennzeichen, version 2
Source: FinTS Financial Transaction Services, Schnittstellenspezifikation, Messages -- Multibankfähige Geschäftsvorfälle """
CREDIT = 'C' #: Haben
DEBIT = 'D' #: Soll
class TANMediaClass4(RepresentableEnum):
"""TAN-Medium-Klasse, version 4
Source: FinTS Financial Transaction Services, Schnittstellenspezifikation, Sicherheitsverfahren PIN/TAN"""
ALL = 'A' #: Alle Medien
LIST = 'L' #: Liste
GENERATOR = 'G' #: TAN-Generator
MOBILE = 'M' #: Mobiltelefon mit mobileTAN
SECODER = 'S' #: Secoder
BILATERAL = 'B' #: Bilateral vereinbart
class TANMediumStatus(RepresentableEnum):
"""Status
Source: FinTS Financial Transaction Services, Schnittstellenspezifikation, Sicherheitsverfahren PIN/TAN"""
ACTIVE = '1' #: Aktiv
AVAILABLE = '2' #: Verfügbar
ACTIVE_SUCCESSOR = '3' #: Aktiv Folgekarte
AVAILABLE_SUCCESSOR = '4' #: Verfügbar Folgekarte
class TANMedia4(DataElementGroup):
"""TAN-Medium-Liste, version 4
Source: FinTS Financial Transaction Services, Schnittstellenspezifikation, Sicherheitsverfahren PIN/TAN"""
tan_medium_class = CodeField(enum=TANMediaClass3, _d="TAN-Medium-Klasse")
class QueryCreditCardStatements2(DataElementGroup):
"""Parameter Kreditkartenumsätze anfordern, version 2
Source: reverse engineered"""
cutoff_days = DataElementField(type='num', max_length=4, _d="Maximale Vorhaltezeit der Umsätze")
max_number_responses_allowed = DataElementField(type='jn', _d="Eingabe Anzahl Einträge erlaubt")
date_range_allowed = DataElementField(type='jn', _d="Zeitraum möglich")
class SEPACCode1(RepresentableEnum):
REVERSAL = '1' #: Reversal
REVOCATION = '2' #: Revocation
DELETION = '3' #: Delete
class StatusSEPATask1(RepresentableEnum):
PENDING = '1' #: In Terminierung
DECLINED = '2' #: Abgelehnt von erster Inkassostelle
IN_PROGRESS = '3' #: in Bearbeitung
PROCESSED = '4' #: Creditoren-seitig verarbeitet, Buchung veranlasst
REVOKED = '5' #: R-Transaktion wurde veranlasst
class GetSEPAAccountParameter1(DataElementGroup):
"""Parameter SEPA-Kontoverbindung anfordern, version 1
Source: FinTS Financial Transaction Services, Schnittstellenspezifikation, Messages -- Multibankfähige Geschäftsvorfälle """
single_account_query_allowed = DataElementField(type='jn', _d="Einzelkontenabruf erlaubt")
national_account_allowed = DataElementField(type='jn', _d="Nationale Kontoverbindung erlaubt")
structured_purpose_allowed = DataElementField(type='jn', _d="Strukturierter Verwendungszweck erlaubt")
supported_sepa_formats = DataElementField(type='an', max_length=256, max_count=99, required=False, _d="Unterstützte SEPA-Datenformate")
limit_days = DataElementField(type='num', max_length=3, required=False)
class TANTimeDialogAssociation(RepresentableEnum):
NOT_ALLOWED = '1' #: TAN nicht zeitversetzt / dialogübergreifend erlaubt
ALLOWED = '2' #: TAN zeitversetzt / dialogübergreifend erlaubt
BOTH = '3' #: beide Verfahren unterstützt
NOT_APPLICABLE = '4' #: nicht zutreffend
class AllowedFormat(RepresentableEnum):
NUMERIC = '1' #: numerisch
ALPHANUMERIC = '2' #: alfanumerisch
class TANListNumberRequired(RepresentableEnum):
NO = '0' #: Nein
YES = '2' #: Ja
class InitializationMode(RepresentableEnum):
CLEARTEXT_PIN_NO_TAN = '00' #: Initialisierungsverfahren mit Klartext-PIN und ohne TAN
ENCRYPTED_PIN_NO_TAN = '01' #: Schablone 01: Verschlüsselte PIN und ohne TAN
MASK_02 = '02' #: Schablone 02: Reserviert, bei FinTS zur Zeit nicht verwendet
class DescriptionRequired(RepresentableEnum):
MUST_NOT = '0' #: Bezeichnung des TAN-Mediums darf nicht angegeben werden
MAY = '1' #: Bezeichnung des TAN-Mediums kann angegeben werden
MUST = '2' #: Bezeichnung des TAN-Mediums muss angegeben werden
class OperationMode(RepresentableEnum):
CBC = '2' #: Cipher Block Chaining
ISO_9796_1 = '16' #: ISO 9796-1 (bei RDH)
ISO_9796_2_RANDOM = '17' #: ISO 9796-2 mit Zufallszahl (bei RDH)
PKCS1V15 = '18' #: RSASSA-PKCS#1 V1.5 (bei RDH); RSAES-PKCS#1 V1.5 (bei RAH, RDH)
PSS = '19' #: RSASSA-PSS (bei RAH, RDH)
ZZZ = '999' #: Gegenseitig vereinbart (DDV: Retail-MAC)
class EncryptionAlgorithmCoded(RepresentableEnum):
TWOKEY3DES = '13' #: 2-Key-Triple-DES
AES256 = '14' #: AES-256
class AlgorithmParameterName(RepresentableEnum):
KYE = '5' #: Symmetrischer Schlüssel, verschlüsselt mit symmetrischem Schlüssel
KYP = '6' #: Symmetrischer Schlüssel, verschlüsselt mit öffentlichem Schlüssel
class AlgorithmParameterIVName(RepresentableEnum):
IVC = '1' #: Initialization value, clear text
class EncryptionAlgorithm(DataElementGroup):
usage_encryption = CodeField(UsageEncryption, max_length=3)
operation_mode = CodeField(OperationMode, max_length=3)
encryption_algorithm = CodeField(EncryptionAlgorithmCoded, max_length=3)
algorithm_parameter_value = DataElementField(type='bin', max_length=512)
algorithm_parameter_name = CodeField(AlgorithmParameterName, max_length=3)
algorithm_parameter_iv_name = CodeField(AlgorithmParameterIVName, max_length=3)
algorithm_parameter_iv_value = DataElementField(type='bin', max_length=512, required=False)
card_sequence = DataElementField(type='id', required=False, _d="Kartenfolgenummer")
card_type = DataElementField(type='num', required=False, _d="Kartenart")
account = DataElementGroupField(type=Account3, required=False, _d="Kontonummer Auftraggeber")
valid_from = DataElementField(type='dat', required=False, _d="Gültig ab")
valid_until = DataElementField(type='dat', required=False, _d="Gültig bis")
tan_list_number = DataElementField(type='an', max_length=20, required=False, _d="TAN-Listennummer")
tan_medium_name = DataElementField(type='an', max_length=32, required=False, _d="Bezeichnung des TAN-Mediums")
mobile_number_masked = DataElementField(type='an', max_length=35, required=False, _d="Mobiltelefonnummer, verschleiert")
mobile_number = DataElementField(type='an', max_length=35, required=False, _d="Mobiltelefonnummer")
sms_charge_account = DataElementGroupField(type=KTI1, required=False, _d="SMS-Abbuchungskonto")
number_free_tans = DataElementField(type='num', max_length=3, required=False, _d="Anzahl freie TANs")
last_use = DataElementField(type='dat', required=False, _d="Letzte Benutzung")
active_since = DataElementField(type='dat', required=False, _d="Freigeschaltet am")
class TANUsageOption(RepresentableEnum):
"""TAN-Einsatzoption
Source: FinTS Financial Transaction Services, Schnittstellenspezifikation, Sicherheitsverfahren PIN/TAN"""
ALL_ACTIVE = '0' #: Kunde kann alle "aktiven" Medien parallel nutzen
EXACTLY_ONE = '1' #: Kunde kann genau ein Medium zu einer Zeit nutzen
MOBILE_AND_GENERATOR = '2' #: Kunde kann ein Mobiltelefon und einen TAN-Generator parallel nutzen
class ParameterChallengeClass(DataElementGroup):
"""Parameter Challenge-Klasse
Source: FinTS Financial Transaction Services, Schnittstellenspezifikation, Sicherheitsverfahren PIN/TAN"""
parameters = DataElementField(type='an', max_length=999, count=9, required=False)
NUMERIC = '1' #: numerisch
ALPHANUMERIC = '2' #: alfanumerisch
class TANListNumberRequired(RepresentableEnum):
NO = '0' #: Nein
YES = '2' #: Ja
class InitializationMode(RepresentableEnum):
CLEARTEXT_PIN_NO_TAN = '00' #: Initialisierungsverfahren mit Klartext-PIN und ohne TAN
ENCRYPTED_PIN_NO_TAN = '01' #: Schablone 01: Verschlüsselte PIN und ohne TAN
MASK_02 = '02' #: Schablone 02: Reserviert, bei FinTS zur Zeit nicht verwendet
class DescriptionRequired(RepresentableEnum):
MUST_NOT = '0' #: Bezeichnung des TAN-Mediums darf nicht angegeben werden
MAY = '1' #: Bezeichnung des TAN-Mediums kann angegeben werden
MUST = '2' #: Bezeichnung des TAN-Mediums muss angegeben werden
class SMSChargeAccountRequired(RepresentableEnum):
MUST_NOT = '0' #: SMS-Abbuchungskonto darf nicht angegeben werden
MAY = '1' #: SMS-Abbuchungskonto kann angegeben werden
MUST = '2' #: SMS-Abbuchungskonto muss angegeben werden
class PrincipalAccountRequired(RepresentableEnum):
MUST_NOT = '0' #: Auftraggeberkonto darf nicht angegeben werden
MUST = '2' #: Auftraggeberkonto muss angegeben werden, wenn im Geschäftsvorfall enthalten