nemiah / phpFinTS

PHP library to communicate with FinTS/HBCI servers
MIT License
131 stars 40 forks source link

Postbank: Call to undefined method - why? #363

Closed 1manfactory closed 2 years ago

1manfactory commented 2 years ago

Hello,

I am checking my account balances from a local Debian server.

URL: https://hbci.postbank.de/banking/hbci.do

But the same files (with identical init settings and credentials) won't work on a German based remote server. They lead to a strange error.

Error: Call to undefined method Fhp\Segment\HITANS\ParameterZweiSchrittTanEinreichungV6::isEinschrittVerfahrenErlaubt() in /inc/vendor/nemiah/php-fints/lib/Fhp/Protocol/BPD.php:200 Stack trace:

0 /inc/vendor/nemiah/php-fints/lib/Fhp/FinTs.php(850): Fhp\Protocol\BPD::extractFromResponse(Object(Fhp\Protocol\Message))

1 /inc/vendor/nemiah/php-fints/lib/Fhp/FinTs.php(646): Fhp\FinTs->readBPD(Object(Fhp\Protocol\Message))

2 /inc/vendor/nemiah/php-fints/lib/Fhp/FinTs.php(729): Fhp\FinTs->ensureBpdAvailable()

3 /inc/vendor/nemiah/php-fints/lib/Fhp/FinTs.php(760): Fhp\FinTs->getSelectedTanMode()

4 /inc/vendor/nemiah/php-fints/lib/Fhp/FinTs.php(258): Fhp\FinTs->requireTanMode()

5 /bank_manager_check.php(88): Fhp\FinTs->login()

6 {main}

1manfactory commented 2 years ago

Strange. Suddenly, though I did not change a thing, it works.

Leaves me a bit puzzled. I don't like it when something is "fixed" by magic. I'd prefer to know exactly what happened.

Any ideas?

Philipp91 commented 2 years ago

If you can't reproduce it anymore, you can't debug.

We would need to know if this is also your BPD.php:200 line at the time when it fails. And then dump the value of $tanParams there.

1manfactory commented 2 years ago

Yes. Lines/files are identical. But it never get's to the var_dump inserted in line 201. Simply timeout error after 15 seconds. This is the complete exception_handler dump. Maybe this helps.

`Fhp\CurlException Object ( [curlInfo:protected] => Array ( [url] => https://hbci.postbank.de/banking/hbci.do [content_type] => [http_code] => 0 [header_size] => 0 [request_size] => 0 [filetime] => -1 [ssl_verify_result] => 0 [redirect_count] => 0 [total_time] => 15.01174 [namelookup_time] => 0 [connect_time] => 0 [pretransfer_time] => 0 [size_upload] => 0 [size_download] => 0 [speed_download] => 0 [speed_upload] => 0 [download_content_length] => -1 [upload_content_length] => -1 [starttransfer_time] => 0 [redirect_time] => 0 [redirect_url] => [primary_ip] => [certinfo] => Array ( )

        [primary_port] => 0
        [local_ip] => 
        [local_port] => 0
        [http_version] => 0
        [protocol] => 0
        [ssl_verifyresult] => 0
        [scheme] => 
        [appconnect_time_us] => 0
        [connect_time_us] => 0
        [namelookup_time_us] => 0
        [pretransfer_time_us] => 0
        [redirect_time_us] => 0
        [starttransfer_time_us] => 0
        [total_time_us] => 15011740
    )

[response:protected] => 
[message:protected] => Failed connection to https://hbci.postbank.de/banking/hbci.do: Resolving timed out after 15000 milliseconds
[string:Exception:private] => Fhp\CurlException: Failed connection to https://hbci.postbank.de/banking/hbci.do: Resolving timed out after 15000 milliseconds in /inc/vendor/nemiah/php-fints/lib/Fhp/Connection.php:78

Stack trace:

0 /inc/vendor/nemiah/php-fints/lib/Fhp/FinTs.php(946): Fhp\Connection->send('HNHBK:1:3+00000...')

1 /inc/vendor/nemiah/php-fints/lib/Fhp/FinTs.php(645): Fhp\FinTs->sendMessage(Object(Fhp\Protocol\Message))

2 /inc/vendor/nemiah/php-fints/lib/Fhp/FinTs.php(729): Fhp\FinTs->ensureBpdAvailable()

3 /inc/vendor/nemiah/php-fints/lib/Fhp/FinTs.php(760): Fhp\FinTs->getSelectedTanMode()

4 /inc/vendor/nemiah/php-fints/lib/Fhp/FinTs.php(258): Fhp\FinTs->requireTanMode()

5 /bank_manager_check.php(92): Fhp\FinTs->login()

6 {main}

[code:protected] => 28
[file:protected] => /inc/vendor/nemiah/php-fints/lib/Fhp/Connection.php
[line:protected] => 78
[trace:Exception:private] => Array
    (
        [0] => Array
            (
                [file] => /inc/vendor/nemiah/php-fints/lib/Fhp/FinTs.php
                [line] => 946
                [function] => send
                [class] => Fhp\Connection
                [type] => ->
                [args] => Array
                    (
                        [0] => HNHBK:1:3+000000000145+300+0+1'HKIDN:2:2+280:44010046+9999999999+0+0'HKVVB:3:3+0+0+0++2.0'HKTAN:4:6+4+HKIDN'HNHBS:5:1+1'
                    )

            )

        [1] => Array
            (
                [file] => /inc/vendor/nemiah/php-fints/lib/Fhp/FinTs.php
                [line] => 645
                [function] => sendMessage
                [class] => Fhp\FinTs
                [type] => ->
                [args] => Array
                    (
                        [0] => Fhp\Protocol\Message Object
                            (
                                [plainSegments] => Array
                                    (
                                        [0] => Fhp\Segment\HKIDN\HKIDNv2 Object
                                            (
                                                [kreditinstitutskennung] => Fhp\Segment\Common\Kik Object
                                                    (
                                                        [laenderkennzeichen] => 280
                                                        [kreditinstitutscode] => 44010046
                                                    )

                                                [kundenId] => 9999999999
                                                [kundensystemId] => 0
                                                [kundensystemStatus] => 0
                                                [segmentkopf] => Fhp\Segment\Segmentkopf Object
                                                    (
                                                        [segmentkennung] => HKIDN
                                                        [segmentnummer] => 2
                                                        [segmentversion] => 2
                                                        [bezugselement] => 
                                                    )

                                            )

                                        [1] => Fhp\Segment\HKVVB\HKVVBv3 Object
                                            (
                                                [bpdVersion] => 0
                                                [updVersion] => 0
                                                [dialogsprache] => 0
                                                [produktbezeichnung] => xxx
                                                [produktversion] => 2.0
                                                [segmentkopf] => Fhp\Segment\Segmentkopf Object
                                                    (
                                                        [segmentkennung] => HKVVB
                                                        [segmentnummer] => 3
                                                        [segmentversion] => 3
                                                        [bezugselement] => 
                                                    )

                                            )

                                        [2] => Fhp\Segment\TAN\HKTANv6 Object
                                            (
                                                [tanProzess] => 4
                                                [segmentkennung] => HKIDN
                                                [kontoverbindungInternationalAuftraggeber] => 
                                                [auftragsHashwert] => 
                                                [auftragsreferenz] => 
                                                [weitereTanFolgt] => 
                                                [auftragStornieren] => 
                                                [smsAbbuchungskonto] => 
                                                [challengeKlasse] => 
                                                [parameterChallengeKlasse] => 
                                                [bezeichnungDesTanMediums] => 
                                                [antwortHhdUc] => 
                                                [segmentkopf] => Fhp\Segment\Segmentkopf Object
                                                    (
                                                        [segmentkennung] => HKTAN
                                                        [segmentnummer] => 4
                                                        [segmentversion] => 6
                                                        [bezugselement] => 
                                                    )

                                            )

                                    )

                                [wrapperSegments] => Array
                                    (
                                        [0] => Fhp\Segment\HNHBK\HNHBKv3 Object
                                            (
                                                [nachrichtengroesse] => 000000000145
                                                [hbciVersion] => 300
                                                [dialogId] => 0
                                                [nachrichtennummer] => 1
                                                [bezugsnachricht] => 
                                                [segmentkopf] => Fhp\Segment\Segmentkopf Object
                                                    (
                                                        [segmentkennung] => HNHBK
                                                        [segmentnummer] => 1
                                                        [segmentversion] => 3
                                                        [bezugselement] => 
                                                    )

                                            )

                                        [1] => Fhp\Segment\HKIDN\HKIDNv2 Object
                                            (
                                                [kreditinstitutskennung] => Fhp\Segment\Common\Kik Object
                                                    (
                                                        [laenderkennzeichen] => 280
                                                        [kreditinstitutscode] => 44010046
                                                    )

                                                [kundenId] => 9999999999
                                                [kundensystemId] => 0
                                                [kundensystemStatus] => 0
                                                [segmentkopf] => Fhp\Segment\Segmentkopf Object
                                                    (
                                                        [segmentkennung] => HKIDN
                                                        [segmentnummer] => 2
                                                        [segmentversion] => 2
                                                        [bezugselement] => 
                                                    )

                                            )

                                        [2] => Fhp\Segment\HKVVB\HKVVBv3 Object
                                            (
                                                [bpdVersion] => 0
                                                [updVersion] => 0
                                                [dialogsprache] => 0
                                                [produktbezeichnung] => 0A63663D427A30F4379C10E84
                                                [produktversion] => 2.0
                                                [segmentkopf] => Fhp\Segment\Segmentkopf Object
                                                    (
                                                        [segmentkennung] => HKVVB
                                                        [segmentnummer] => 3
                                                        [segmentversion] => 3
                                                        [bezugselement] => 
                                                    )

                                            )

                                        [3] => Fhp\Segment\TAN\HKTANv6 Object
                                            (
                                                [tanProzess] => 4
                                                [segmentkennung] => HKIDN
                                                [kontoverbindungInternationalAuftraggeber] => 
                                                [auftragsHashwert] => 
                                                [auftragsreferenz] => 
                                                [weitereTanFolgt] => 
                                                [auftragStornieren] => 
                                                [smsAbbuchungskonto] => 
                                                [challengeKlasse] => 
                                                [parameterChallengeKlasse] => 
                                                [bezeichnungDesTanMediums] => 
                                                [antwortHhdUc] => 
                                                [segmentkopf] => Fhp\Segment\Segmentkopf Object
                                                    (
                                                        [segmentkennung] => HKTAN
                                                        [segmentnummer] => 4
                                                        [segmentversion] => 6
                                                        [bezugselement] => 
                                                    )

                                            )

                                        [4] => Fhp\Segment\HNHBS\HNHBSv1 Object
                                            (
                                                [nachrichtennummer] => 1
                                                [segmentkopf] => Fhp\Segment\Segmentkopf Object
                                                    (
                                                        [segmentkennung] => HNHBS
                                                        [segmentnummer] => 5
                                                        [segmentversion] => 1
                                                        [bezugselement] => 
                                                    )

                                            )

                                    )

                                [header] => Fhp\Segment\HNHBK\HNHBKv3 Object
                                    (
                                        [nachrichtengroesse] => 000000000145
                                        [hbciVersion] => 300
                                        [dialogId] => 0
                                        [nachrichtennummer] => 1
                                        [bezugsnachricht] => 
                                        [segmentkopf] => Fhp\Segment\Segmentkopf Object
                                            (
                                                [segmentkennung] => HNHBK
                                                [segmentnummer] => 1
                                                [segmentversion] => 3
                                                [bezugselement] => 
                                            )

                                    )

                                [footer] => Fhp\Segment\HNHBS\HNHBSv1 Object
                                    (
                                        [nachrichtennummer] => 1
                                        [segmentkopf] => Fhp\Segment\Segmentkopf Object
                                            (
                                                [segmentkennung] => HNHBS
                                                [segmentnummer] => 5
                                                [segmentversion] => 1
                                                [bezugselement] => 
                                            )

                                    )

                                [signatureHeader] => 
                                [signatureFooter] => 
                            )

                    )

            )

        [2] => Array
            (
                [file] => /inc/vendor/nemiah/php-fints/lib/Fhp/FinTs.php
                [line] => 729
                [function] => ensureBpdAvailable
                [class] => Fhp\FinTs
                [type] => ->
                [args] => Array
                    (
                    )

            )

        [3] => Array
            (
                [file] => /inc/vendor/nemiah/php-fints/lib/Fhp/FinTs.php
                [line] => 760
                [function] => getSelectedTanMode
                [class] => Fhp\FinTs
                [type] => ->
                [args] => Array
                    (
                    )

            )

        [4] => Array
            (
                [file] => /inc/vendor/nemiah/php-fints/lib/Fhp/FinTs.php
                [line] => 258
                [function] => requireTanMode
                [class] => Fhp\FinTs
                [type] => ->
                [args] => Array
                    (
                    )

            )

        [5] => Array
            (
                [file] => /bank_manager_check.php
                [line] => 92
                [function] => login
                [class] => Fhp\FinTs
                [type] => ->
                [args] => Array
                    (
                    )

            )

    )

[previous:Exception:private] => 

)`

Philipp91 commented 2 years ago

That's now a completely different error though -- BDD::extractFromResponse() isn't there anymore. Please file a new bug if that persists, including a description for how to reproduce it..

ampaze commented 2 years ago

Fyi: Postbank had DNS problems in the last few days, this is also what the last error message you posted says.

1manfactory commented 2 years ago

Fyi: Postbank had DNS problems in the last few days, this is also what the last error message you posted says.

Thanks. That is so odd. I did not change a single line of code and since two days now it's working fine (again). It makes me a bit uncomfortable not knowing what is going on.

1manfactory commented 2 years ago

We can close this.