nemiah / phpFinTS

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

Dummy Backends zum Testen? #248

Closed kvogelsa closed 4 years ago

kvogelsa commented 4 years ago

Hallo zusammen!

Bietet die Kreditwirtschaft eigentlich Test-Backends, wogegen man testen kann?

Ich kann ja nur mit meinen eigenen Bankkonten testen, nicht mit denen meiner Kunden bei anderen Geldinstituten.

Liebe Grüße

ampaze commented 4 years ago

Es gibt leider im Grunde keine öffentlich bekannten Testzugänge. Siehe auch

https://github.com/nemiah/phpFinTS/issues/238#issuecomment-587605824 ff

kvogelsa commented 4 years ago

Danke! Hatte ich schon befürchtet.

Wie macht ihr das? Meine Lösung wäre: Kunde sagt es geht nicht und ich versuche von dessen Bank einen Testzugang zu bekommen.

Naja, ich schreibe es auf meinen inneren Litanei-Zettel zum Thema PSD2.

Bleibt Gesund!

ampaze commented 4 years ago

Du solltest alles loggen und via SanitizingLogger die persönlichen Daten rausfiltern. Bei Fehlern die du nicht explizit behandelst, schickst du dir eine Benachrichtigung. Mit den Logs kann man dann evtl. hier was anfangen.

Mir ist aktuell keine Bank bekannt die nicht funktioniert, es wäre also durchaus interessant wenn du solche Banken fändest.

kvogelsa commented 4 years ago

@ampaze: Ich kann bei der Postbank die Konten nicht abrufen. TanMethods kann ich abrufen, ist bei mir nur "mobileTAN". Bei $getSepaAccounts = \Fhp\Action\GetSEPAAccounts::create(); $this->_FinTsClass->execute($getSepaAccounts); kommt dann:

[06-Apr-2020 15:38:24] < HNHBK:1:3+000000000647+300+3763633102992000jdymDjfI54.A11+1+3763633102992000jdymDjfI54.A11:1'HNVSK:998:3+PIN:1+998+1+2::3763633103209000Y0NGLX20XZY7A7+1:20200406:153823+2:2:13:@8@:5:1+280:37010050::V:0:0+0'HNVSD:999:1+@388@HIRMG:2:2+0020::Dialoginitialisierung erfolgreich.+3075::Starke Authentifizierung ab dem 2019-09-08 erforderlich.:2019-09-08+3060::Teilweise liegen Warnungen/Hinweise vor.'HIRMS:3:2:3+0020::Information fehlerfrei entgegengenommen.'HIRMS:4:2:4+3920::Meldung unterst�tzter Ein- und Zwei-Schritt-Verfahren:930'HIRMS:5:2:5+0020::Auftrag ausgef�hrt.'HISYN:6:4:5+3763633103209000Y0NGLX20XZY7A7''HNHBS:7:1+1' [06-Apr-2020 15:38:24] > HNHBK:1:3+000000000449+300+3763633102992000jdymDjfI54.A11+2'HNVSK:998:3+PIN:1+998+1+1::3763633103209000Y0NGLX20XZY7A7+1:20200406:133824+2:2:13:@8@00000000:5:1+280:37010050:PRIVATE______>:V:0:0+0'HNVSD:999:1+@223@HNSHK:2:4+PIN:1+999+9003934+1+1+1::3763633103209000Y0NGLX20XZY7A7+1+1:20200406:133824+1:999:1+6:10:19+280:37010050:<PRIVATE______:S:0:0'HKEND:3:1+3763633102992000jdymDjfI54.A11'HNSHA:4:2+9003934++''HNHBS:5:1+2' [06-Apr-2020 15:38:24] < HNHBK:1:3+000000000336+300+3763633102992000jdymDjfI54.A11+2+3763633102992000jdymDjfI54.A11:2'HNVSK:998:3+PIN:1+998+1+2::3763633103209000Y0NGLX20XZY7A7+1:20200406:153823+2:2:13:@8@:5:1+280:37010050::V:0:0+0'HNVSD:999:1+@78@HIRMG:2:2+0010::Nachricht entgegengenommen.'HIRMS:3:2:3+0100::Dialog beendet.''HNHBS:4:1+2' [06-Apr-2020 15:38:24] > HNHBK:1:3+000000000534+300+0+1'HNVSK:998:3+PIN:2+998+1+1::3763633103209000Y0NGLX20XZY7A7+1:20200406:133824+2:2:13:@8@00000000:5:1+280:37010050:PRIVATE______>:V:0:0+0'HNVSD:999:1+@337@HNSHK:2:4+PIN:2+930+7921290+1+1+1::3763633103209000Y0NGLX20XZY7A7+1+1:20200406:133824+1:999:1+6:10:19+280:37010050:<PRIVATE______:S:0:0'HKIDN:3:2+280:37010050++3763633103209000Y0NGLX20XZY7A7+1'HKVVB:4:3+14+0+0++4.0'HKTAN:5:6+4+HKIDN+++++++++mobileTAN'HNSHA:6:2+7921290++''HNHBS:7:1+1' [06-Apr-2020 15:38:24] < HNHBK:1:3+000000000527+300+3763633103463000bdynVJ5JN5.A11+1+3763633103463000bdynVJ5JN5.A11:1'HNVSK:998:3+PIN:1+998+1+2::3763633103209000Y0NGLX20XZY7A7+1:20200406:153823+2:2:13:@8@:5:1+280:37010050::V:0:0+0'HNVSD:999:1+@268@HIRMG:2:2+9050::Teilweise fehlerhaft.'HIRMS:3:2:3+0020::Information fehlerfrei entgegengenommen.'HIRMS:4:2:4+3920::Meldung unterst�tzter Ein- und Zwei-Schritt-Verfahren:930'HIRMS:5:2:5+9962::Der Auftrag kann nicht mit der gew�hlten Mobilfunknummer legitimiert werden.''HNHBS:6:1+1'

ampaze commented 4 years ago

Der Auftrag kann nicht mit der gewählten Mobilfunknummer legitimiert werden.

Bei der Fehlermeldung würde ich sagen, falls du den "TanMediumNamen" korrekt angegeben hast, scheint da was mit den Berechtigungen für deinen Zugang bei der Postbank nicht zu stimmen. Kannst du im Webbanking Aufträge per TAN freigeben?

Postbank läuft bei uns, also kein grundsätzliches Problem.

kvogelsa commented 4 years ago

Im Webbanking muss ich meine Postbank-ID angeben, dann auf der nächsten Seite die PIN.

Dann kommt auf der 3. Seite:

`Um sich mit Ihrer Postbank ID kvogelsapb einzuloggen, legitimieren Sie sich bitte mit einem Sicherheitsverfahren.

Bitte fordern Sie für die Transaktion eine mobileTAN an. Sie wird Ihnen per SMS an die ausgewählte Mobilfunknummer übermittelt. mobileTAN MFN1 / 0172XXX Derzeit als favorisiertes Sicherheitsverfahren für den Login festgelegt` MFN1 ist ein Options-Eintrag in einem Select. Es ist meine Mobilnummer. Es gibt keine weitere Nummer zum Auswählen.

Ein Klick auf "Anfordern" schickt mir eine SMS-TAN und ich kann diese zum Einloggen eingeben.

Dann kann ich meine Kontoauszüge in der Postbox als PDF ziehen. Ich kann auch Umsatzübersichten anzeigen lassen, alles ohne SMS-TAN. Wie lange zurück, habe ich nicht gecheckt.

Mit FinTSphp kann ich den Login durchführen ohne SMS-TAN und mir die TAN-Modes anzeigen lassen (nur mobileTAN). Ich verwende für getStmts() den zurückgemeldeten TANMode. Dann kommt die beschriebene Fehlermeldung.

Muss ich evt. noch meine MFN auswählen, wie online?

Wie gesagt, das pressiert nicht, da wir das Konto kündigen werden. Die Kernaufgabe einer Bank ist ja nun, für Geldbewegung zu sorgen, was bei der Postbank nur mit Aufwand möglich ist.

Achso: Es ist ein Geschäftskonto.

ampaze commented 4 years ago

Der Aufruf für selectTanMode müsste für dich in etwa so aussehen:

$fints->selectTanMode(930, 'mt:MFN1');

Hast du das? Ich glaube man konnte sich auch die Liste der möglichen Tan-Medien geben lassen, dazu müsstest mal die Issues durchforsten. Ich glaube da war das mal Thema.

Philipp91 commented 4 years ago

Ja, es gibt $fints->getTanMedia($tanMode) dafür. Siehe auch Samples/tanModesAndMedia.php.

Es scheint, als hättest du "mobileTAN" als Tan-Medium angegeben, aber das ist nur der Name des Tan-Modus, den du ja schon mit 930 angegeben hast.

kvogelsa commented 4 years ago

Das ist korrekt, das habe ich angegeben. (Funktionierte bei der KSK wunderbar...)

Ich werde es geändert versuchen.

Danke erstmal.

ampaze commented 4 years ago

Das ist korrekt, das habe ich angegeben. (Funktionierte bei der KSK wunderbar...)

Die meisten(?) Banken brauchen den TanMediaNamen nicht und ignorieren ihn daher wenn du einen angibst. Das wird denke ich bei der KSK der Fall sein?

kvogelsa commented 4 years ago

Offensichtlich. Ich habe es jetzt geändert und alles funktioniert wie erwartet und gewünscht. Danke!