How to use the fints.utils.RepresentableEnum 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 / fints / formals.py View on Github external
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
github raphaelm / python-fints / fints / formals.py View on Github external
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
github raphaelm / python-fints / fints / formals.py View on Github external
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"""
github raphaelm / python-fints / fints / formals.py View on Github external
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

github raphaelm / python-fints / fints / formals.py View on Github external
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")
github raphaelm / python-fints / fints / formals.py View on Github external
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")
github raphaelm / python-fints / fints / formals.py View on Github external
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
github raphaelm / python-fints / fints / formals.py View on Github external
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)
github raphaelm / python-fints / fints / formals.py View on Github external
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)
github raphaelm / python-fints / fints / formals.py View on Github external
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