phpFinTS icon indicating copy to clipboard operation
phpFinTS copied to clipboard

Rückmeldung, ob meine XML-Daten korrekt sind

Open 2nd-Moon opened this issue 5 years ago • 7 comments

Hi, die Übermittlung von Lastschriften funktioniert schon ganz gut.

Wenn ich eine XML-Datei für DirectDebit übermittel, bekomme ich ein "Nachricht wurde übermittelt" oder sowas in der Art. Wie komme ich jetzt an eine Fehlermeldung der Bank ran? Also z.B. IBAN ist inkorrekt oder Datum der Lastschrift ist zu kurzfristig. Hat hier jemand einen Tipp?

2nd-Moon avatar Apr 30 '20 11:04 2nd-Moon

Die Bank wird nicht mit Nachricht wurde übermittelt antworten wenn es einen Fehler gab.

Wenn es einen Fehler gibt, solltest du eine entsprechende ServerException bekommen. Probier es am besten mal aus.


Edit: Ob du eine direkte Fehlermeldung bekommst hängt ggf. von der Menge der Lastschriften ab. Bei der GLS ist es so, dass bis zu 500 Lastschriften synchron abgearbeitet werden, d.h. der gesamte Auftrag / Sammler wird abgelehnt wenn eine Lastschrift fehlerhaft ist. Alles darüber wird erstmal angenommen und man muss selber nachfragen ob es geklappt hat.

Die konkrete Anzahl lässt sich je nach Bank hier auslesen: https://github.com/nemiah/phpFinTS/blob/13f4c5f5e85af9fcb30ec52bcc85069edae98936/lib/Fhp/Segment/DME/ParameterTerminierteSEPASammellastschriftEinreichenV2.php#L8

ampaze avatar May 04 '20 16:05 ampaze

Hi, ich habe mal absichtlich die IBAN eine Stelle zu kurz übermittelt. Es wird trotzdem "Nachricht entgegengenommen.Auftrag ausgeführt." gemeldet. Ich habe nur eine einzige Lastschrift übermittelt. Das ist die Postbank. Es muss also noch eine andere Möglichkeit über die Schnittstelle geben, Fehler und den Status Verarbeitung abzurufen. Nur wie?

2nd-Moon avatar May 22 '20 08:05 2nd-Moon

Dann prüft die Postbank deinen Auftrag wohl nicht direkt beim Einreichen.

Evtl. ist C.10.4.3 SEPA-Statusreport was du suchst.

Der Kunde ruft zu einer Auftragsidentifikation oder einem Zeitraum SEPAStatusreports ab.

Details dazu hier

https://www.hbci-zka.de/dokumente/spezifikation_deutsch/fintsv3/FinTS_3.0_Messages_Geschaeftsvorfaelle_2015-08-07_final_version.pdf

Diesen Geschäftsvorfall musst du dann selbst implementieren.

ampaze avatar May 22 '20 09:05 ampaze

In dem PDF habe ich auch schon gesucht. Aber super, das ich genau der Vorgang den ich brauche. Muss ich dann mal schauen. danke.

2nd-Moon avatar May 22 '20 09:05 2nd-Moon

Mich wundert, dass das andere User gar nicht brauchen. Manche Banken lehnen den gesamten Auftrag wohl schon gleich ab.

2nd-Moon avatar May 22 '20 09:05 2nd-Moon

Mich wundert, dass das andere User gar nicht brauchen. Manche Banken lehnen den gesamten Auftrag wohl schon gleich ab.

Ja, der Großteil der Banken würde ich mal vermuten/hoffen.


Vlt wird auch unterschieden zwischen Einzellastschrift und Sammellastschrift.

Du könntest mal in SendSEPADirectDebit.php

// If the PAIN message contains a control sum, we should use it, if the bank also supports it
if ($useSingleDirectDebit && !is_null($this->ctrlSum) && !is_null($bpd->getLatestSupportedParameters('HIDMES'))) {
    $useSingleDirectDebit = false;
}

auskommentieren und es nochmal mit einer syntaktisch falschen IBAN probieren.

ampaze avatar May 22 '20 10:05 ampaze

Danke für den Tipp. Soweit bin ich in dem Code nicht Zuhause, dass ich dort in der Schnittstelle Änderungen machen kann. Es gab aber leider keine Veränderung der Rückmeldung. Er sagt immer noch "Auftrag ausgeführt."

2nd-Moon avatar May 22 '20 11:05 2nd-Moon