mschindler83/fints-hbci-php

Request Failed: Die Nachricht enthält Fehler. (TRE) 9050

drstil opened this issue · 2 comments

Thank you for creating this great project!

I'm using the current fints-hbci-php library and got an Request Failed: Die Nachricht enthält Fehler. (TRE) 9050 error when my bank account has a lot of transactions by calling getStatementOfAccount(). This is because of touchdowns, which the result has. If I comment out line 179 in Fhp/FinTs.php, then the error is gone (= no touchdowns). I have one touchdown when the error occurs:

array(1) { ["HKKAZ"]=> string(32) "20171212000011+00000096717,81F V" }

So it seems that there is an error in the message, when the touchdown is added. I compared the normal message and the message of the touchdown:

Normal message:

HNSHK:2:4+PIN:2+942+*+1+1+1::*+1+1:20171227:102020+1:999:1+6:10:16+280:*:*:S:0:0'HKKAZ:3:7+*:*:*::280:*+N+20161227+20171227++'HNSHA:4:2+*++*

Touchdown message:

HNSHK:2:4+PIN:2+942+*+1+1+1::*+1+1:20171227:102021+1:999:1+6:10:16+280:*:*:S:0:0'HKKAZ:3:7+*:*:*::280:*+N+20161227+20171227++20171212000011+00000096717,81F

Is there maybe a part in the message missing?

Do you need more information?

Thank you and best!

Having the same problem also with GLS. @drstil Did you ever fix this?

Found the problem, the touchdown identifier contains a "+" which needs to be escaped when used in a message send to the server.

In other words in the method FinTs::getStatementOfAccount replace the parameter $touchdowns[HKKAZ::NAME] for the $this->createStateOfAccountMessage call with
$this->escapeString($touchdowns[HKKAZ::NAME])

Done.