self.systemid = resp.get_systemid()
self.dialogid = resp.get_dialog_id()
self.bankname = resp.get_bank_name()
- self.hksalversion = resp.get_hksal_max_version()
- self.hkkazversion = resp.get_hkkaz_max_version()
- self.hktanversion = resp._get_segment_max_version('HKTAN')
+ self.hksalversion = resp.get_segment_max_version('HIKAZS')
+ self.hkkazversion = resp.get_segment_max_version('HISALS')
+ self.hktanversion = resp.get_segment_max_version('HKTAN')
self.tan_mechs = resp.get_supported_tan_mechanisms()
logger.debug('Bank name: {}'.format(self.bankname))
msg.dialogid = self.dialogid
try:
- resp = FinTSResponse(self.connection.send(msg))
+ resp = self.connection.send(msg)
if not resp.is_success():
raise FinTSDialogError(
resp.get_summary_by_segment()
raise ValueError('Could not find systemid')
return seg.customer_system_id
- def get_hkkaz_max_version(self):
- return max((seg.header.version for seg in self.find_segments('HIKAZS')), default=3)
-
- def get_hksal_max_version(self):
- return max((seg.header.version for seg in self.find_segments('HISALS')), default=3)
+ def get_segment_max_version(self, type):
+ return max((seg.header.version for seg in self.find_segments(type)), default=3)
def get_supported_tan_mechanisms(self):
tan_methods = []
)
)
- if seg.parameters.twostep_parameters.security_function in tan_methods:
- methods.append(method)
+ for params in seg.parameter.twostep_parameters:
+ if params.security_function in tan_methods:
+ methods.append(params)
return methods
security_class = DataElementField(type='num', length=1, _d="Sicherheitsklasse")
class HITANS1(ParameterSegment):
- parameters = DataElementGroupField(type=ParameterTwostepTAN1)
+ parameter = DataElementGroupField(type=ParameterTwostepTAN1)
class HITANS3(ParameterSegment):
- parameters = DataElementGroupField(type=ParameterTwostepTAN3)
+ parameter = DataElementGroupField(type=ParameterTwostepTAN3)
class HIPINS1(ParameterSegment):
"""PIN/TAN-spezifische Informationen, version 1
Source: FinTS Financial Transaction Services, Schnittstellenspezifikation, Sicherheitsverfahren PIN/TAN
"""
- parameters = DataElementGroupField(type=ParameterPinTan, _d="Parameter PIN/TAN-spezifische Informationen")
+ parameter = DataElementGroupField(type=ParameterPinTan, _d="Parameter PIN/TAN-spezifische Informationen")
class HIBPA3(FinTS3Segment):
assert m.find_segment_first('ITST') is None
- assert len( m.find_segment_first('HITANS', 1).parameters.twostep_parameters ) == 2
- assert len( m.find_segment_first('HITANS', 3).parameters.twostep_parameters ) == 6
+ assert len( m.find_segment_first('HITANS', 1).parameter.twostep_parameters ) == 2
+ assert len( m.find_segment_first('HITANS', 3).parameter.twostep_parameters ) == 6
assert m.find_segment_first('HITANS', recurse=False) is None