limit_amount = DataElementField(type='btg', required=False)
limit_days = DataElementField(type='num', max_length=3, required=False)
-class TwoStepParameters(DataElementGroup):
+class TwoStepParameters1(DataElementGroup):
security_function = DataElementField(type='code', max_length=3)
tan_process = DataElementField(type='code', length=1)
technical_identification_tan_process = DataElementField(type='id')
multiple_tans_allowed = DataElementField(type='jn')
tan_time_delayed_allowed = DataElementField(type='jn')
-class ParameterTwostepTAN(DataElementGroup):
+class TwoStepParameters3(DataElementGroup):
+ security_function = DataElementField(type='code', max_length=3)
+ tan_process = DataElementField(type='code', length=1)
+ technical_identification_tan_process = DataElementField(type='id')
+ name_twostep_process = DataElementField(type='an', max_length=30)
+ max_length_tan_entry = DataElementField(type='num', max_length=2)
+ allowed_format_tan_entry = DataElementField(type='code', length=1)
+ return_value_text = DataElementField(type='an', max_length=30)
+ max_length_return_value = DataElementField(type='num', max_length=3)
+ number_supported_tan_lists = DataElementField(type='num', length=1)
+ multiple_tans_allowed = DataElementField(type='jn')
+ tan_timedelayed_type = DataElementField(type='code', length=1)
+ tan_list_number_required = DataElementField(type='jn')
+ cancel_allowed = DataElementField(type='jn')
+ challenge_class_required = DataElementField(type='jn')
+ challenge_amount_required = DataElementField(type='jn')
+ initialisation_mode = DataElementField(type='code')
+ id_tan_medium_required = DataElementField(type='jn')
+ number_supported_tan_media = DataElementField(type='num', length=1, required=False)
+
+class ParameterTwostepTAN1(DataElementGroup):
onestep_method_allowed = DataElementField(type='jn')
multiple_tasks_allowed = DataElementField(type='jn')
hash_algorithm = DataElementField(type='code', length=1)
security_profile_bank_signature = DataElementField(type='code', length=1)
- twostep_parameters = DataElementGroupField(type=TwoStepParameters, min_count=1, max_count=98)
+ twostep_parameters = DataElementGroupField(type=TwoStepParameters1, min_count=1, max_count=98)
+
+class ParameterTwostepTAN3(DataElementGroup):
+ onestep_method_allowed = DataElementField(type='jn')
+ multiple_tasks_allowed = DataElementField(type='jn')
+ hash_algorithm = DataElementField(type='code', length=1)
+ twostep_parameters = DataElementGroupField(type=TwoStepParameters3, min_count=1, max_count=98)
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, ParameterTwostepTAN
+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.utils import classproperty, SubclassesMixin
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_twostep_tan = DataElementGroupField(type=ParameterTwostepTAN)
+ parameters_twostep_tan = DataElementGroupField(type=ParameterTwostepTAN1)
+
+class HITANS3(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_twostep_tan = DataElementGroupField(type=ParameterTwostepTAN3)