Skip to content

Include the bank's response in FinTSClientPINError - #225

Open
bjorn wants to merge 1 commit into
raphaelm:masterfrom
bjorn:pin-error-bank-response
Open

Include the bank's response in FinTSClientPINError#225
bjorn wants to merge 1 commit into
raphaelm:masterfrom
bjorn:pin-error-bank-response

Conversation

@bjorn

@bjorn bjorn commented Sep 14, 2026

Copy link
Copy Markdown

FinTSClientPINError is raised for any 9xxx response before the dialog is open, so "PIN wrong?" is only one of several possible causes: a product id the bank does not know yet, an expired 90-day web-login requirement (ING), or credentials of the wrong kind. The bank's own code and text say which, but they were dropped, and since the initialisation message is sent with internal_send=True they are not logged either. Without DEBUG logging of the raw exchange there is nothing to go on, and every retry counts towards the bank's lockout.

This keeps the wording, appends the bank's response to the message, and exposes it as response_code and response_text on the exception. test_pin_wrong now asserts on the mock bank's 9910 Pin ungültig.

Example against ING: Error during dialog initialization, PIN wrong? Bank response: 9942 - Log-in fehlgeschlagen. 3 Fehlversuche führen zur Sperrung.

#222 is a recent instance of the same hunt for a hidden code.

The error is raised for any 9xxx response before the dialog is open,
so "PIN wrong?" is only one of several possible causes: a product id
the bank does not know yet, an expired 90-day web-login requirement
(ING), or credentials of the wrong kind. The bank's own code and text
say which, but they were dropped, and since the initialisation message
is sent with internal_send=True they are not logged either.

Put the code and text into the message and expose them as
response_code and response_text on the exception.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant