Exemplo n.º 1
0
<?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
Exemplo n.º 3
0
 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