PHP code example of ufozone / php-sepa

1. Go to this page and download the library: Download ufozone/php-sepa library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

ufozone / php-sepa example snippets


$validatorFactory = new \ufozone\phpsepa\Sepa\Validator\Factory();
$executionDate = new \DateTimeImmutable('+2 day');

$sepa = new \ufozone\phpsepa\Sepa\CreditTransfer($validatorFactory);
$sepa->setInitiator('Max Mustermann');                   // Einreicher
$sepa->setId('MSG-20240224-1');                          // Nachrichtenreferenz

$payment = new \ufozone\phpsepa\Sepa\Payment($validatorFactory);
//$payment->setPriority('HIGH');                           // Prioritaet: NORM oder HIGH
$payment->setAccountName('Max Mustermann');              // Auftraggeber (Debitor)
$payment->setAccountIban('DE02370502990000684712');      // Auftraggeber IBAN
$payment->setAccountBic('COKSDE33');                     // Auftraggeber BIC
//$payment->setAccountCurrency('EUR');                     // Kontowaehrung
//$payment->disableBatchBooking();                         // Sammelbuchung deaktivieren
$payment->setExecutionDate($executionDate);              // Gewuenschter Ausfuehrungstermin

$transactionPostalAddress = new \ufozone\phpsepa\Sepa\PostalAddress($validatorFactory);
$transactionPostalAddress->setStreetName('Musterstraße 12a')
    ->setPostBox('12345')
    ->setTownName('Musterstadt')
    ->setPostCode('12345')
    ->setCountry('DE');

$transaction = new \ufozone\phpsepa\Sepa\Transaction($validatorFactory);
$transaction->setEndToEndId('R2017742-1')                // Transaktions-ID (eindeutig)
    ->setName('Karl Kümmel')                             // Name des Zahlungsempfaengers (Creditor)
    ->setPostalAddress($transactionPostalAddress)        // Adresse des Zahlungsempfaengers
    ->setIban('DE02300209000106531065')                  // IBAN des Zahlungsempfaengers
    ->setBic('CMCIDEDD')                                 // BIC des Zahlungsempfaengers
    ->setAmount(123.45)                                  // Betrag
    ->setPurpose('SALA')                                 // (optional) Zahlungstyp
    ->setReference('Lohn/Gehalt Januar 2026');           // Verwendungszweck (eine Zeile, max. 140 Zeichen)

$payment->addTransaction($transaction);

$transaction = new \ufozone\phpsepa\Sepa\Transaction($validatorFactory);
$transaction->setEndToEndId('R2017742-2')
    ->setName('Doris Dose')
    ->setIban('DE02500105170137075030')
    ->setBic('INGDDEFFXXX')
    ->setAmount(234.56)
    ->setReference('Kleinanzeigen Kinderfahrrad');

$payment->addTransaction($transaction);

$sepa->addPayment($payment);

$xml = new \ufozone\phpsepa\Sepa\Xml($sepa);
$xml->download('sepa.xml');

$validatorFactory = new \ufozone\phpsepa\Sepa\Validator\Factory();
$executionDate = new \DateTimeImmutable('+5 day');

$sepa = new \ufozone\phpsepa\Sepa\DirectDebit($validatorFactory);
$sepa->setInitiator('Max Mustermann');                   // Einreicher
$sepa->setId('MSG-20240224-1');                          // Nachrichtenreferenz

$payment = new \ufozone\phpsepa\Sepa\Payment($validatorFactory);
//$payment->setScope('CORE');                              // Lastschriftart (CORE oder B2B)
$payment->setSequence('OOFF');                           // Sequenztyp (FRST, RCUR, OOFF, FNAL)
$payment->setAccountName('Max Mustermann');              // Auftraggeber (Creditor)
$payment->setAccountIban('DE02200505501015871393');      // Auftraggeber IBAN
$payment->setAccountBic('HASPDEHHXXX');                  // Auftraggeber BIC
$payment->setCreditorId('DE98ZZZ09999999999');           // Glaeubigeridentifikationsnummer
//$payment->setAccountCurrency('EUR');                     // Kontowaehrung
//$payment->disableBatchBooking();                         // Sammelbuchung deaktivieren
$payment->setExecutionDate($executionDate);              // Gewuenschter Ausfuehrungstermin

$transactionPostalAddress = new \ufozone\phpsepa\Sepa\PostalAddress($validatorFactory);
$transactionPostalAddress->setStreetName('Musterstraße 12a')
    ->setPostBox('12345')
    ->setTownName('Musterstadt')
    ->setPostCode('12345')
    ->setCountry('DE');

$transaction = new \ufozone\phpsepa\Sepa\Transaction($validatorFactory);
$transaction->setEndToEndId('R2017742-1')                // Transaktions-ID (eindeutig)
    ->setName('Karl Kümmel')                             // Name des Zahlungspflichtigen (Debitor)
    ->setPostalAddress($transactionPostalAddress)        // Adresse des Zahlungspflichtigen
    ->setIban('DE02700100800030876808')                  // IBAN des Zahlungspflichtigen
    ->setBic('PBNKDEFFXXX')                              // BIC des Zahlungspflichtigen
    ->setAmount(123.45)                                  // Abzubuchender Betrag
    ->setPurpose('SCVE')                                 // (optional) Zahlungstyp
    ->setMandateId('M20170704-200')                      // Mandatsreferenz
    ->setMandateDate('2017-07-04')                       // Datum Mandatserteilung (YYYY-MM-DD)
    ->setReference('Rechnung R2017742 vom 17.06.2017');  // Verwendungszweck (eine Zeile, max. 140 Zeichen)

$payment->addTransaction($transaction);

$sepa->addPayment($payment);

$xml = new \ufozone\phpsepa\Sepa\Xml($sepa);
$xml->download('sepa.xml');
bash
composer