nemiah / phpFinTS

PHP library to communicate with FinTS/HBCI servers
MIT License
132 stars 42 forks source link

Rückmeldungscode 9391 #458

Open Philipp91 opened 1 month ago

Philipp91 commented 1 month ago

https://www.f-i.de/fints

Wir bitten daher die Hersteller seit März 2023, ihre Produkte auf die korrekte Umsetzung zu prüfen, damit alle Kunden die Geräteerkennung problemlos nutzen können. Insbesondere muss jedes FinTS-Produkt beim Empfang des Rückmeldecodes 9391 korrekt mit einem „HKSYN“ reagieren und damit die Synchronisation der Kundensystem-ID vornehmen. Des Weiteren muss das Produkt die FinTS-Kundensystem-ID korrekt speichern und bei künftiger FinTS-Kommunikation verwenden. Anderenfalls würde künftig eine weitere Kommunikation vom Banksystem erneut mit dem Rückmeldecode 9391 abgewiesen. Die Ausführung bankfachlicher Geschäftsvorfälle wäre somit nicht mehr möglich.

Für weitere technische Details verweisen wir auf die FinTS-Spezifikation:

https://www.hbci-zka.de/dokumente/spezifikation_deutsch/fintsv3/FinTS_3.0_Formals_2017-10-06_final_version.pdf (insbesondere Kap. C8) https://www.hbci-zka.de/dokumente/spezifikation_deutsch/FinTS_Rueckmeldungscodes_2023-03-27_final_version.pdf

Philipp91 commented 1 month ago

Following these two links, there's only one occurrence of 9391:

9391 Neue Kundensystem-ID holen

Not much information from the specification's side. But it seems like we're supposed to trigger a fresh sync when receiving this response code. Presumably bank servers use the Kundensystem-ID for something like an auth token, but once that expires, it needs to be refreshed, so then they send this code.

The implementation of this functionality in hbci4java seems to confirm that all we need to do is trigger a sync.