-
Notifications
You must be signed in to change notification settings - Fork 81
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
DKB: Error during dialog initialization, could not fetch BPD #106
Comments
I am having the same issue. @henning77 |
Any news on this? Sadly I am having the same error with DKB |
I got the same error with Kasseler Sparkasse. |
Same issue with DKB since last week. Any updates here? |
I don't have a bank account with DKB, so I can't debug this. The most suspicious thing in the log is the following line:
Somehow, the whole thing fails while trying to fetch the list of available TAN media. You can try not using minimal_interactive_cli_bootstrap but copying its source code and manually passing a "correct" TAN media. For debugging, you can also try if you can connect using Hibiscus, then do a FinTS trace there and look what TAN medium they are using. |
I have added response.text to the log output in client.py:
File "./kontoni.py", line 347, in loadTransactions This is the same message mentioned in #93 But I dont know why this worked for me in master branch until last week... |
Hibiscus says: 07.10.2020 00:17:17] Dialog beendet |
I had the very same issue with DKB. Since yesterdays "Fix for Postbank issue" / v3.0.1, the issue is solved for me. |
The sample codes from the docs do not work for me. Which sample did you try? |
I tried the example script from the troubleshooting page you linked. It was a bit tricky to find out which authentication information to provide, but it worked. For my bank I had to set an additional customer / legitimation ID like this: client_args = (
'REPLACEME', # BLZ
'REPLACEME', # USER
getpass.getpass('PIN: '),
'REPLACEME', # ENDPOINT
'REPLACEME' # Customer / Legitimation ID
) I found that id within the Service/HBCI and FinTS section of my online banking. |
I just tried this, the problem persists in my instance (DKB bank). [...]
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. I also get the same error as @raphaelm stated [...]
fints.segments.dialog.HIRMS2( # Rückmeldungen zu Segmenten
header = fints.formals.SegmentHeader('HIRMS', 4, 2, 4), # Segmentkopf
responses = [ # Rückmeldung
fints.formals.Response( # Rückmeldung
code = '3920',
reference_element = None,
text = 'Zugelassene Zwei-Schritt-Verfahren für den Benutzer.',
parameters = [
'921',
],
),
fints.formals.Response( # Rückmeldung
code = '9955',
reference_element = None,
text = 'Auftrag nicht ausgeführt - Die Gerätebezeichnung ist unbekannt. (MBV07390100255)',
),
],
),
[...] When it is fetching for the mechanism I get this list: mechanisms = list(client.get_tan_mechanisms().items())
# RESULT:
[('921', fints.formals.TwoStepParameters6(security_function='921', tan_process='2',
tech_id='TAN2go', zka_id=None,
zka_version=None, name='TAN2go',
max_length_input=6,
allowed_format=fints.formals.AllowedFormat.NUMERIC,
text_return_value='TAN-Nummer',
max_length_return_value=3,
multiple_tans_allowed=True,
tan_time_dialog_association=fints.formals.TANTimeDialogAssociation.ALLOWED,
cancel_allowed=False,
sms_charge_account_required=fints.formals.SMSChargeAccountRequired.MUST_NOT,
principal_account_required=fints.formals.PrincipalAccountRequired.MUST_NOT,
challenge_class_required=False,
challenge_structured=False,
initialization_mode=fints.formals.InitializationMode.CLEARTEXT_PIN_NO_TAN,
description_required=fints.formals.DescriptionRequired.MUST,
response_hhd_uc_required=False,
supported_media_number=2))] The exception is raised in m = client.get_tan_media() To be more specific in # seg = fints.segments.auth.HKTAB4(header=fints.formals.SegmentHeader('HKTAB', 3, 4), tan_media_type=fints.formals.TANMediaType2.ALL, tan_media_class=fints.formals.TANMediaClass3.ALL)
try:
self._bootstrap_mode = True
response = method(dialog)(seg) Something seems of with the dialog_id - I am not quite sure.
|
I checked again. That error ("Error during dialog initialization, could not fetch BPD.") is reproducible, if I enter a wrong PIN. Also, the customer / legitimation id does not seem to be necessary, as it also works if I change / omit it. Beyond that, I don't feel capable to help you, sorry about that. |
Hey, I found something new: I just ran into this issue with the troubleshooting script, and solved it (partially). So my assumption is, that the troubleshooting script (or fints itself) is not able to operate the DKB TAN based authorization process (correctly). |
I have the same issue with Consorsbank. The also have an App based authentication mechanism called "Secure Plus". It is strange though, that Jameica/Hibiscus can connect to Consorsbank without any trouble. Any chance, that we will get a fix for this? Since I am Python Dev myself, I would also be willing to look into this myself and provide a PR. But I would need some pointers on how to best debug this. |
So, the core issue here is this interaction:
...
which is a problem with us sending a |
I have the same problem with DKB, see: #121 (comment)
@henryk - What do you mean by "setting
@de-graeuler - I could not find this section in my online banking under |
Are you sure that it's exactly the same problem you're seeing? Have you registered for a product key as described in the documentation? As far as I know the default key was removed, so this might be what you're seeing? Just a guess though. |
yes I got a product key from ZKI. I get the same error for DKB. I also tried ING and Volksbank, allways get errors during minimal_interactive_cli_bootstrap. |
at DKB this was working without further issues:
|
Describe the bug
Execution of the test script fails with this error:
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.
*Bank I tested this with
Name of the bank: DKB
FinTS URL: https://banking-dkb.s-fints-pt-dkb.de/fints30
Expected behavior
Test script should execute without error.
Code required to reproduce
See test script
With these parameters:
Log output / error message
Log
The text was updated successfully, but these errors were encountered: