Send empty tan_medium_name instead of "noref" when none is offered#141
Send empty tan_medium_name instead of "noref" when none is offered#141guidoffm wants to merge 2 commits into
Conversation
Taunussparkasse (BLZ 51250000) rejects the literal string "noref" with "9955: Die Geraetebezeichnung ist unbekannt", but accepts an empty value in the same field - matching what python-fints already sends.
|
Ich bin nicht sicher, ob ich das einfach so pauschal ändern kann. Das würde alle Banken betreffen und das derzeitige Verhalten wurde ja explizit nach Experimenten mit mehreren Banken bei der Einführung von PSD2 so herausgefunden und daraufhin angepasst. Ich habe den Fall mal im Forum unter https://homebanking-hilfe.de/forum/topic.php?t=28378 gepostet, um zu erfahren, wie andere den Fall handhaben. |
|
Der PR wurde von Claude in meinem Auftrag erstellt. Ich vermute ja, dass die Taunussparkasse mit anderen Sparkassen zusammen denselben Provider hat. Und dann sollte das Problem auch woanders auftreten. |
|
Ich habe selbst ein Konto bei der Sparkasse und das Problem tritt da nicht auf. Mir sind auch keine anderen Userberichte zu einem solchen Fehler bekannt. |
|
Ich habe gerade in der Bankenliste recherchiert, welche Banken dieselbe URL benutzen wie die Taunussparkasse. Es handelt sich um einige hessische Sparkassen (Kassel, Battenberg, Darmstadt-Dieburg, Hanau, Offenbach, Hersfeld-Rotenburg, Giessen), aber nicht um alle. |
|
Ich warte mal noch auf Rückmeldungen aus dem Forum, wie das in anderen Implementierungen gehandhabt wird. |
Problem
When a bank's BPD indicates a TAN medium name is required (
needtanmedia=2) butreports no named options to choose from,
AbstractPinTanPassport.getTanMedia()falls back to sending the literal string
"noref"in the TAN medium name field.At least Taunussparkasse (BLZ 51250000, Finanz Informatik) rejects this with:
An empty value in the same field is accepted instead - this also matches what
python-fintssends in the equivalent field for the same bank, confirmed via aside-by-side raw HBCI segment comparison (
tan_medium_name = ''there vs."noref"here).Fix
Return an empty string instead of
"noref"when no TAN medium name isavailable. Verified end-to-end against Taunussparkasse: balance and full
transaction history now retrieved successfully (previously failed on every
attempt with the error above).
Testing
Reproduced and fixed against a real Taunussparkasse account via
HKIDN/HKVVB/HKTAN(pushTAN 2.0, decoupled). Happy to add more detail/logs if useful forreview, redacted as needed.