From: Henryk Plötz Date: Thu, 9 Aug 2018 17:21:21 +0000 (+0200) Subject: Implement HIPINS1 X-Git-Tag: v2.0.0~1^2~140 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=84c0be1677b6143dda567c10641194d9750133bd;p=thirdparty%2Fpython-fints.git Implement HIPINS1 --- diff --git a/fints/formals.py b/fints/formals.py index 4992926..d3abd95 100644 --- a/fints/formals.py +++ b/fints/formals.py @@ -586,3 +586,15 @@ class ParameterTwostepTAN3(DataElementGroup): multiple_tasks_allowed = DataElementField(type='jn') hash_algorithm = DataElementField(type='code', length=1) twostep_parameters = DataElementGroupField(type=TwoStepParameters3, min_count=1, max_count=98) + +class TransactionTanRequired(DataElementGroup): + transaction = DataElementField(type='an', max_length=6) + tan_required = DataElementField(type='jn') + +class ParameterPinTan(DataElementGroup): + min_pin_length = DataElementField(type='num', max_length=2, required=False) + max_pin_length = DataElementField(type='num', max_length=2, required=False) + max_tan_length = DataElementField(type='num', max_length=2, required=False) + user_id_field_text = DataElementField(type='an', max_length=30, required=False) + customer_id_field_text = DataElementField(type='an', max_length=30, required=False) + transaction_tans_required = DataElementGroupField(type=TransactionTanRequired, max_count=999, required=False) diff --git a/fints/segments/__init__.py b/fints/segments/__init__.py index b0e09b3..8115db8 100644 --- a/fints/segments/__init__.py +++ b/fints/segments/__init__.py @@ -1,6 +1,6 @@ import re -from fints.formals import Container, ContainerMeta, SegmentHeader, DataElementGroupField, DataElementField, ReferenceMessage, SegmentSequenceField, SecurityProfile, SecurityIdentificationDetails, SecurityDateTime, EncryptionAlgorithm, KeyName, Certificate, HashAlgorithm, SignatureAlgorithm, UserDefinedSignature, Response, AccountInformation, AccountLimit, AllowedTransaction, ParameterTwostepTAN1, ParameterTwostepTAN3 +from fints.formals import Container, ContainerMeta, SegmentHeader, DataElementGroupField, DataElementField, ReferenceMessage, SegmentSequenceField, SecurityProfile, SecurityIdentificationDetails, SecurityDateTime, EncryptionAlgorithm, KeyName, Certificate, HashAlgorithm, SignatureAlgorithm, UserDefinedSignature, Response, AccountInformation, AccountLimit, AllowedTransaction, ParameterTwostepTAN1, ParameterTwostepTAN3, ParameterPinTan from fints.utils import classproperty, SubclassesMixin @@ -145,3 +145,10 @@ class HITANS3(FinTS3Segment): min_number_signatures = DataElementField(type='num', length=1) security_class = DataElementField(type='num', length=1) parameters_twostep_tan = DataElementGroupField(type=ParameterTwostepTAN3) + +class HIPINS1(FinTS3Segment): + max_number_tasks = DataElementField(type='num', max_length=3) + min_number_signatures = DataElementField(type='num', length=1) + security_class = DataElementField(type='num', length=1) + parameters_pintan = DataElementGroupField(type=ParameterPinTan) +