<?php // Einbindung der SepaXmlCreator-Klasse require_once 'SepaXmlCreator.php'; // Erzeugen einer neuen Instanz $creator = new SepaXmlCreator(); /* * Mit den Account-Werten wird das eigene Konto beschrieben * erster Parameter = Name * zweiter Parameter = IBAN * dritter Paramenter = BIC */ $creator->setAccountValues('mein Name', 'meine IBAN', 'meine BIC'); /* * Setzen Sie von der Bundesbank übermittelte Gläubiger-ID */ $creator->setGlaeubigerId("DE98ZZZ09999999999"); /* * Mit Hilfe eines Ausführungs-Offsets können Sie definieren, wann die Lastchrift gezogen wird. Die Anzahl * der übergebenen Tage wird auf den aktuellen Kalendertag addiert * * Beispiel 1 * heute = 1. Juni 2013 * Offset nicht übergeben * Ausführung -> Heute bzw. nächst möglich * * Beispiel 1 * heute = 1. Juni 2013 * Offset 3 * Ausführung -> 4. Juni 2013 */
<?php // Einbindung der SepaXmlCreator-Klasse require_once 'SepaXmlCreator.php'; // Erzeugen einer neuen Instanz $creator = new SepaXmlCreator(); /* * Mit den Account-Werten wird das eigene Konto beschrieben * erster Parameter = Name * zweiter Parameter = IBAN * dritter Paramenter = BIC */ $creator->setAccountValues('mein Name', 'meine IBAN', 'meine BIC'); /* * Mit Hilfe eines Ausführungs-Offsets können Sie definieren, wann die Buchung durchgeführt wird. Die Anzahl * der übergebenen Tage wird auf den aktuellen Kalendertag addiert * * Beispiel 1 * heute = 1. Juni 2013 * Offset nicht übergeben * Ausführung -> Heute bzw. nächst möglich * * Beispiel 1 * heute = 1. Juni 2013 * Offset 3 * Ausführung -> 4. Juni 2013 */ $creator->setAusfuehrungOffset(7); // Erzeugung einer neuen Überweisung $buchung = new SepaBuchung(); // gewünschter Überweisungsbetrag
private function admin_createSepa($sepaRequests) { //Für Sparkasse muss der Request kompatibel zu pain 008.002.02 (Sammellastschriften) sein // Erzeugen einer neuen Instanz $creator = new SepaXmlCreator(); /* * Mit den Account-Werten wird das eigene Konto beschrieben * erster Parameter = Name * zweiter Parameter = IBAN * dritter Paramenter = BIC */ $creator->setAccountValues('Ringelsoeckchen e.V.', 'DE34370502990138274368', 'COKSDE 33'); /* * Setzen Sie von der Bundesbank übermittelte Gläubiger-ID */ $creator->setGlaeubigerId("DE90BEI00001201537"); /* * Mit Hilfe eines Ausführungs-Offsets können Sie definieren, wann die Lastchrift gezogen wird. Die Anzahl * der übergebenen Tage wird auf den aktuellen Kalendertag addiert * * Beispiel 1 * heute = 1. Juni 2013 * Offset nicht übergeben * Ausführung -> Heute bzw. nächst möglich * * Beispiel 1 * heute = 1. Juni 2013 * Offset 3 * Ausführung -> 4. Juni 2013 */ $creator->setAusfuehrungOffset(0); $this->Fee->Member->recursive = -3; foreach ($sepaRequests as $sepaRequest) { //Get member information $member = $this->Fee->Member->find('first', array('conditions' => array('id' => $sepaRequest['member_id']))); //Get yearly fee information $yearly_fee = $this->Fee->YearlyFee->find('first', array('conditions' => array('year' => $sepaRequest['year']))); $sepamandate = $this->Fee->Member->Sepamandate->find('first', array('conditions' => array('member_id' => $sepaRequest['member_id'], 'valid' => 1))); if (!$sepamandate) { throw new NotFoundException('Could not find Sepamandate for ' . $member['Member']['full_name']); } // Erzeugung einer neuen Buchungssatz $buchung = new SepaBuchung(); // gewünschter Einzugsbetrag $buchung->setBetrag($yearly_fee['YearlyFee']['fee']); // gewünschte End2End Referenz (OPTIONAL) $buchung->setEnd2End('BEI' . $sepaRequest['year'] . '-' . $member['Member']['id']); // BIC des Zahlungspflichtigen Institutes $buchung->setBic($sepamandate['Sepamandate']['bic']); // Name des Zahlungspflichtigen $buchung->setName(htmlspecialchars($sepamandate['Sepamandate']['account_holder'])); // IBAN des Zahlungspflichtigen $buchung->setIban($sepamandate['Sepamandate']['iban']); // gewünschter Verwendungszweck (OPTIONAL) $buchung->setVerwendungszweck('Ringelsoeckche Beitrag ' . $sepaRequest['year'] . ' ' . $member['Member']['full_name']); // Referenz auf das vom Kunden erteilte Lastschriftmandat // ID = MANDAT0001 // Erteilung durch Kunden am 20. Mai 2013 // False = seit letzter Lastschrift wurde am Mandat nichts geändert $buchung->setMandat($sepamandate['Sepamandate']['mandate_reference'], $sepamandate['Sepamandate']['mandate_date'], false); // Buchung zur Liste hinzufügen $creator->addBuchung($buchung); debug($buchung); } /*$file = new File(TMP.'sepa.xml', true); // Nun kann die XML-Datei über den Aufruf der entsprechenden Methode generiert werden $sepaOutput = $creator->generateBasislastschriftXml(); $file->write($sepaOutput); $file->close(); $this->viewClass = 'Media'; $params = array( 'id' => 'sepa.xml', 'name' => 'Mitgliedsbeitraege'.CakeTime::format('Y-m-d', time()), 'download' => true, 'extension' => 'xml', 'path' => TMP ); $this->set($params); */ }
//Zu generierende Kontrolldatei für die Mitglieder aus dem aktuellen Jahr (ausserhalb des öffentlichen www-verzeichnis!!) $file_newMembers = HOME_DIRECTORY . 'generated_files/kontrollDatei_neueMitglieder.csv'; $output_newMembers = fopen($file_newMembers, 'w'); //Zu generierende Kontrolldatei für die Mitglieder aus den Vorjahren, die eine Studentenbescheinigung eingereicht haben (ausserhalb des öffentlichen www-verzeichnis!!) $file_students = HOME_DIRECTORY . 'generated_files/kontrollDatei_studenten.csv'; $output_students = fopen($file_students, 'w'); //Zu generierende Kontrolldatei für die Mitglieder von denen eingezogen wird (ausserhalb des öffentlichen www-verzeichnis!!) $file_payment = HOME_DIRECTORY . 'generated_files/kontrollDatei_zahler.csv'; $output_payment = fopen($file_payment, 'w'); //========================= // SEPA XML Generierung //========================= //Zu generierende XML-Datei (ausserhalb des öffentlichen www-verzeichnis!!) $file = HOME_DIRECTORY . 'generated_files/sepa_lastschriften_mitgliedsbeitraege.xml'; //Erzeugen einer neuen Instanz des SEPA-XML-Creators $creator = new SepaXmlCreator(); /* * Mit den Account-Werten wird das eigene Konto beschreiben * erster Parameter = Name * zweiter Parameter = IBAN * dritter Paramenter = BIC */ $creator->setAccountValues('Oliver Stauffert', 'DE05773501100038018941', 'BYLADEM1SBT'); //Setzen der von der Bundesbank übermittelte Gläubiger-ID $creator->setGlaeubigerId("DE58zzz00000159557"); //Ausführung auf in 9 Tagen setzen (schneller kann Bank ggf. nicht) $creator->setAusfuehrungOffset(9); //Formatierung setzen - true: XML-Datei mit Tabs und Zeilenumbrüchen, sonst ohne $creator->setFormatted(true); //========================= // Datensätze verarbeiten