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)
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
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)
+