]> git.ipfire.org Git - thirdparty/python-fints.git/commitdiff
Implement HIPINS1
authorHenryk Plötz <henryk@ploetzli.ch>
Thu, 9 Aug 2018 17:21:21 +0000 (19:21 +0200)
committerRaphael Michel <mail@raphaelmichel.de>
Mon, 3 Dec 2018 18:34:17 +0000 (19:34 +0100)
fints/formals.py
fints/segments/__init__.py

index 49929260e9b4d8ce205d92183df15ca78253987a..d3abd95438253f4edca359590b41d26db874052e 100644 (file)
@@ -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)
index b0e09b3d046f2587804ad2df623459f726ab2996..8115db8e01161cfc8d9e7c573b0545fe768d96e1 100644 (file)
@@ -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)
+