playtestcloud / ruby_fints

Basic FinTS 3.0 (formerly known as HBCI) implementation in Ruby
MIT License
14 stars 6 forks source link

Broken since PSD2 #10

Open agross opened 4 years ago

agross commented 4 years ago

After PSD2 has been enabled on September 12 the library no longer works although strong authentication has been completed once in the 90-day timeframe. Can you please adjust the code so it works again?

Errors look like this (netbank):

FinTS::DialogError:
       {"9050"=>"Die Nachricht enthält Fehler.", "9075"=>"Starke Kundenauthentifizierung notwendig.", "9800"=>"Dialog abgebrochen", "9340"=>"Ungültige Auftragsnachricht?: Ungültige Signatur."}

Renault Bank:

FinTS::DialogError:
       {"9050"=>"Die Nachricht enthält Fehler. (TRE)", "9075"=>"Starke Kundenauthentifizierung notwendig. (TRE)", "9800"=>"Dialog abgebrochen (TRE)", "9340"=>"Auftrag abgelehnt. (TRE)"}
mkilling commented 4 years ago

Hi Alexander, we’re also seeing this issue but right now we don’t have any capacity to fix this as it seems to require bigger changes to the library.

Our de-facto upstream python experiences issues as well: https://github.com/raphaelm/python-fints/issues/72. Once a fix has been implemented there we might port it to this library.

coezbek commented 4 years ago

@mkilling From the changes in the python-fints repo it seems that they basically catch the 9075 response (strong auth needed) and then start a TAN process. Is there any code to do any TAN processing in ruby_fints?

https://github.com/raphaelm/python-fints/compare/psd2

mkilling commented 4 years ago

Hi @coezbek not right now, the ruby_fints codebase is basically a translation of python-fints from July 2017. It should be pretty straightforward to port the python-fints changes for PSD2, but I unfortunately don’t have time to work on that right now. It would be amazing if you or anyone could provide a pull request - I’ll be happy to review + merge it.