raphaelm / python-fints

Pure-python FinTS (formerly known as HBCI) implementation
https://pypi.python.org/pypi/fints
GNU Lesser General Public License v3.0
329 stars 81 forks source link

comdirect: Error during dialog initialization, could not fetch BPD. #93

Closed tovolkmar closed 5 years ago

tovolkmar commented 5 years ago

Hi,

since today i get the following error for comdirect. It worked like a charm till today. I'm not sure was wronge, but it seems related to a PSD2 change?

Error during dialog initialization, could not fetch BPD. Please check that you passed the correct bank identifier to the HBCI URL of the correct bank.

Thanks for your help, Tobias

limolitz commented 5 years ago

Someone mentioned in #72 that this library currently doesn't support requiring Strong Customer Auth that early in the process yet. But I found this thread indicating comdirect's process is broken anyway at the moment.

sqall01 commented 5 years ago

I have similar problems with DKB. Since the 13th of September it worked like a charm. Starting the 14th of September (the day PSD2 started) I got the following error messages:

09/14/2019 00:05:37 ERROR: Dialog response: 9050 - Die Nachricht enthält Fehler.
09/14/2019 00:05:37 ERROR: Dialog response: 9800 - Dialog abgebrochen
09/14/2019 00:05:37 ERROR: Dialog response: 9010 - Die angegebene Bankreferenz/Dialog-ID ist nicht gültig.
09/14/2019 00:05:37 ERROR: Dialog response: 9010 - Auftrag wegen genereller Fehler in Auftragsnachricht nicht verarbeitet.

Did not debug it yet but my guess is PSD2. The problem for me is: I used it to passively monitor my bank transactions and inform me every time a transaction was performed on my account. If I have to enter a TAN each time it logs in I can forget this service. Does anyone know if PSD2 enforces TAN authentication each time you login via HBCI?

crawler64 commented 5 years ago

Unfortunately i've experienced the same issue on comdirekt and dkb. I've already registred my software at the ZKA, but using the product_id didn't changed the behavior of the lib.

I have similar problems with DKB. Since the 13th of September it worked like a charm. Starting the 14th of September (the day PSD2 started) I got the following error messages:

09/14/2019 00:05:37 ERROR: Dialog response: 9050 - Die Nachricht enthält Fehler.
09/14/2019 00:05:37 ERROR: Dialog response: 9800 - Dialog abgebrochen
09/14/2019 00:05:37 ERROR: Dialog response: 9010 - Die angegebene Bankreferenz/Dialog-ID ist nicht gültig.
09/14/2019 00:05:37 ERROR: Dialog response: 9010 - Auftrag wegen genereller Fehler in Auftragsnachricht nicht verarbeitet.

Did not debug it yet but my guess is PSD2. The problem for me is: I used it to passively monitor my bank transactions and inform me every time a transaction was performed on my account. If I have to enter a TAN each time it logs in I can forget this service. Does anyone know if PSD2 enforces TAN authentication each time you login via HBCI?

ideefixdajoka commented 5 years ago

I have the same issue and get the "You should register your program with the ZKA and pass your own product_id as a parameter" warning. @crawler64: "Is this easy to get as a privat person?" Can you provide a link where you registered and was it hard to get? Thanks in advance.

raphaelm commented 5 years ago

This warning is issued by the library. If you use your system in production, you should do that. However, it is probably not the reason why your connection fails.

Here's info on the registration: https://www.hbci-zka.de/register/prod_register.htm

ideefixdajoka commented 5 years ago

Thanks for your answer. My code was running fine until last week. the follow up errors I get are: Dialog response: 9050 - Die Nachricht enthaelt Fehler. Dialog response: 9800 - Dialog abgebrochen Dialog response: 9010 - Die angegebene Bankreferenz/Dialog-ID ist nicht gueltig.

bdombrowsky commented 5 years ago

Hi,

I get the following error with comdirect:

ERROR:fints.client:Dialog response: 9050 - Die Nachricht enthaelt Fehler. ERROR:fints.client:Dialog response: 9800 - Dialog abgebrochen ERROR:fints.client:Dialog response: 9340 - Ungueltige Auftragsnachricht: Ungueltige Signatur. Traceback (most recent call last): File "/usr/local/lib/python3.7/site-packages/fints/client.py", line 441, in get_sepa_accounts response = dialog.send(HKSPA1()) File "/usr/local/lib/python3.7/site-packages/fints/dialog.py", line 141, in send self.client.process_response_message(self, response, internal_send=internal_send) File "/usr/local/lib/python3.7/site-packages/fints/client.py", line 230, in process_response_message self._process_response(dialog, None, response) File "/usr/local/lib/python3.7/site-packages/fints/client.py", line 1256, in _process_response raise FinTSClientPINError("Error during dialog initialization, PIN wrong?") fints.exceptions.FinTSClientPINError: Error during dialog initialization, PIN wrong?

During handling of the above exception, another exception occurred:

Traceback (most recent call last): File "/opt/banking/fints2jira/fints2jira.py", line 119, in accounts = f.get_sepa_accounts() File "/usr/local/lib/python3.7/site-packages/fints/client.py", line 441, in get_sepa_accounts response = dialog.send(HKSPA1()) File "/usr/local/lib/python3.7/site-packages/fints/dialog.py", line 45, in exit self.end() File "/usr/local/lib/python3.7/site-packages/fints/dialog.py", line 97, in end response = self.send(HKEND1(self.dialog_id), internal_send=True) File "/usr/local/lib/python3.7/site-packages/fints/dialog.py", line 116, in send self.finish_message(message) File "/usr/local/lib/python3.7/site-packages/fints/dialog.py", line 163, in finish_message auth_mech.sign_commit(message) File "/usr/local/lib/python3.7/site-packages/fints/security.py", line 159, in sign_commit tan=self._gettan(), File "/usr/local/lib/python3.7/site-packages/fints/types.py", line 360, in init setattr(self, k, v) File "/usr/local/lib/python3.7/site-packages/fints/types.py", line 45, in set value = self._parse_value(value) File "/usr/local/lib/python3.7/site-packages/fints/fields.py", line 299, in _parse_value return Password(value) File "/usr/local/lib/python3.7/site-packages/fints/utils.py", line 260, in str raise Exception("Refusing to use PIN after block") Exception: Refusing to use PIN after block

I use the last version from the PSD2 Branch. The PIN is definitely correct and my connection to the Volksbank works fine.

Does somebody has any idea?

drmhessler commented 5 years ago

Trying to get my accounts at comdirect using correct credentials and product ID results in the following: Traceback (most recent call last): File "test-fints.py", line 17, in accounts = f.get_sepa_accounts() File "/home/markus/.local/lib/python3.7/site-packages/fints/client.py", line 430, in get_sepa_accounts response = dialog.send(HKSPA1()) File "/home/markus/.local/lib/python3.7/site-packages/fints/dialog.py", line 133, in send self.client.process_response_message(self, response, internal_send=internal_send) File "/home/markus/.local/lib/python3.7/site-packages/fints/client.py", line 219, in process_response_message self._process_response(dialog, None, response) File "/home/markus/.local/lib/python3.7/site-packages/fints/client.py", line 1228, in _process_response raise FinTSClientError("Error during dialog initialization, could not fetch BPD. Please check that you " fints.exceptions.FinTSClientError: Error during dialog initialization, could not fetch BPD. Please check that you passed the correct bank identifier to the HBCI URL of the correct bank.

Can anyone confirm this or has a solution for this problem?

elohmeier commented 5 years ago

@drmhessler I had the same error, did you try to use the psd2 branch? It worked for me then using photoTAN.

mtremer commented 5 years ago

@drmhessler I had the same error, did you try to use the psd2 branch? It worked for me then using photoTAN.

I can confirm that I have the same issue that @drmhessler has and I did try the psd2 branch as well as 2.2.0 using Sparkasse.

drmhessler commented 5 years ago

with the PSD2 branch I was able to get the transactions from comdirect.

raphaelm commented 5 years ago

Closing this issue because it's about comdirect and from all I can see comdirect works with the PSD2 branch already.