phpFinTS icon indicating copy to clipboard operation
phpFinTS copied to clipboard

SEPA direct debit (XML)

Open timrasche opened this issue 1 year ago • 8 comments

Servus Leute,

mir ist gerade aufgefallen, das wie in der "samples/directDebit_phpSepaXml.php" beschrieben, die Klasse "SEPADirectDebitBasic" und dessen property "type" nicht übernommen wird. Die Lastschrift Option "COR1" (dieser Wert überschreibt den von mir gesetzten) existiert nicht mehr und wurde durch "CORE" ersetzt (Bankenseitig). Daher wird eine falsche XML erstellt.

Ich gehe davon aus das dies der Grund ist wieso (in meinem Fall die Niederrheinische Sparkasse) die Lastschrift nicht akzeptiert und mit einem "The bank does not support the xml schema urn:iso:std:iso:20022:tech:x:sd:pain.008.003.02, but only urn:iso:std:iso:20022:tech:x:sd:pain.001.001.03, urn:iso:std:iso:20022:tech:xsd:pain.008.001.02" quittiert.

Kann mich natürlich irren, aber das ist definitiv kritisch, da damit Lastschriften derzeit bei uns nicht funktionsfähig sind. Sonstige Hilfe gerne willkommen (falls sich der Fehler auf etwas anderes bezieht und das schon bei jemand anderen vorkam)

timrasche avatar Jun 05 '23 09:06 timrasche

Stimmt, das Beispiel ist veraltet, aber die Klasse SEPADirectDebitBasic stammt aus https://github.com/nemiah/phpSepaXml. Vielleicht da mal nachfragen.

ampaze avatar Jun 06 '23 09:06 ampaze

Da der Autor der gleiche ist und das Problem sich direkt auch auf diese Library bezieht, öffne ich ungern das gleiche Issue. Daher lasse ich das mal so stehen hier.

timrasche avatar Jun 12 '23 09:06 timrasche

Hallo,

funktioniert es, wenn der Wert vor der Übertragung manuell geändert wird? Die XML-Datei kann ja zwischengespeichert und bearbeitet werden.

VG Nena

nemiah avatar Jun 12 '23 20:06 nemiah

Hallo Nena,

danke für deine Rückmeldung. Ja so klappt es, ich habe die Klasse ähnlich wie die Business Klasse entsprechend erweitert und den Wert so initialisiert. Natürlich sollte das dennoch auch ohne mein zutun gehen ;-)

timrasche avatar Jun 14 '23 08:06 timrasche

Ok Kommando zurück,

unser Kunde hat uns gerade gemeldet das es doch nicht funktioniert (gleicher Fehler wie oben beschrieben). Also liegt die Ursache wohl an einer anderen Stelle.

timrasche avatar Jun 15 '23 11:06 timrasche

Es scheint so, das die pain message id von allen banken die wir getestet haben nicht funktioniert (pain.001.003.03). Man kann das natürlich jetzt nicht für jede Bank manuell anpassen.

Jemand eine Idee?

timrasche avatar Aug 15 '23 09:08 timrasche

Huhu, bei der Methode toXML kann das pain-Format übergeben werden. Hast du das gemacht?

nemiah avatar Aug 15 '23 12:08 nemiah

Wir sind gerade dabei die verschiedenen Formate zu testen, so wie ich das von verschiedenen Banke lese müsste das für Überweisungen mit allen neuen Features die "pain.001.001.03" sein und für Lastschriften die "pain.008.001.02".

Ich melde mich dazu wieder.

timrasche avatar Aug 15 '23 12:08 timrasche

Wir sind gerade dabei die verschiedenen Formate zu testen, so wie ich das von verschiedenen Banke lese müsste das für Überweisungen mit allen neuen Features die "pain.001.001.03" sein und für Lastschriften die "pain.008.001.02".

Ich melde mich dazu wieder.

Das sind auch die beiden einzigen Formate, welche wir verwenden. Als Beispiel directCredit (Überweisung)

    $transfer = new SEPATransfer([
            'paymentInitiation' => 'pain.001.001.03',
            'messageID' => 'dce-' . $directCreditExport->id,
            'paymentID' => 'dce-' . $directCreditExport->id,
        ]);

seem2810 avatar Jul 15 '24 06:07 seem2810