jahir / kontify

Poll your bank accounts and get notifications for new transactions (while storing them in a database)
GNU General Public License v3.0
8 stars 5 forks source link

Make PSD2-compatible #2

Open phil294 opened 4 years ago

phil294 commented 4 years ago

Since September 2019, TANs are often necessary for even basic fints operations. In my case, once I set days to >90, I get

Dialog response: 9050 - Die Nachricht enthält Fehler.
Dialog response: 3905 - Es wurde keine Challenge erzeugt.
Dialog response: 9955 - Auftrag nicht ausgeführt - Die Gerätebezeichnung ist unbekannt. (MBV07390100255)

Probably solveable by adding minimal_interactive_cli_bootstrap(f), possibly checking for f.init_tan_response, and checking for NeedTANResponse like

statement = f.get_transactions(...)
while isinstance(statement, NeedTANResponse):
    print("TAN required: ", transactions.challenge)
    tan = input('Please enter tan: ')
    statement = f.send_tan(statement, tan)

but then it's necessary to run this in an interactive terminal :/

jahir commented 4 years ago

which bank is this?

I have a private branch which incorporates the changes for python-fints to work with PSD2, which works fine with some banks, but stops kontify from working with others (probably due to known shortcomings in python-fints, which will be probably not fixed anytime soon). This is quite unsatisfying and I wanted to add some workaround, but couldn't find yet (mostly because it's working for me right now ;).

Entering a TAN is obviously not (at least not seamless) possible in a cron job. And there is a plethora of other unlock mechanisms and some of them are not performable on a console (or require additional modules), so the TAN input would only help the simple cases (which does not mean we should not implement it, of course). I guess a sane implementation should also request the TAN only if it's running interactively, otherwise just send a notification. My workaround right now is to use my full-blown online banking software to unlock accounts (which I use anyway regularly).

phil294 commented 3 years ago

which bank is this?

Various Sparkasse accounts.

I have a private branch which incorporates the changes for python-fints to work with PSD2, which works fine with some banks, but stops kontify from working with others (probably due to known shortcomings in python-fints, which will be probably not fixed anytime soon). This is quite unsatisfying and I wanted to add some workaround, but couldn't find yet (mostly because it's working for me right now ;).

Ok. I just finished and pushed my fork https://github.com/phil294/fints-transaction-tracker which is interactive (https://github.com/phil294/fints-transaction-tracker/commit/7a93a9d6db16fbca5b2fe0e9357058c41becdadd) and it works well for me.