share

Billsafe Zahlungsinformation auf dem OXID eShop Rechnungs-PDF angeben bei Einsatz des PayOne-Moduls

PayOne bietet mittels des fcPayOne-Moduls (von der Berliner OXID Agentur Fatchip) auch die Zahlart Billsafe an. Leider kann das Modul noch nicht die Daten für die Rechnung, die in der OXID Community & Professional Edition bequem im Backend als PDF generiert werden können ausgeben.

Im Wiki von Fatchip finden sich lediglich die Angaben, welche Felder auszulesen sind.

Hier ein Snippet, mit dem die Daten auszulesen und im PDF dargestellt werden.

Grundsätzlich empfiehlt es sich, die oxOrder zu erweitern, in der die PDF-Generierung eingehängt ist. Leider müssen wir die zwei Methoden, die wir verändern wollen aus der Originaldatei kopieren.

Zuerst blenden wir in unserem Modul in der Methode „exportStandart()“ die normalen Rechnungseinstellungen aus:


public function pdfFooter( $oPdf )
{
...
if( $this->oxorder__oxpaymenttype->value != "fcpobillsafe")
{
// hier die Bankangaben
}

Am Ende der Methode „exportStandart()“ fügen wir nun die Billsafe Daten ein:
if( $this->oxorder__oxpaymenttype->value == "fcpobillsafe")
{
$oLang = oxRegistry::getLang();
$sBrutPrice = $oLang->formatCurrency( $this->oxorder__oxtotalbrutsum->value, $this->getCurrency() ).' '.$this->getCurrency()->name;
$oPdf->MultiCell( 170, 10, $this->_getFatchipPayoneBillsafeData( 'clearing_legalnote'), 0, 'J' , 0, 1, 14, $siteH+10 );
$oPdf->SetTextColor(50, 150, 50);
$oPdf->MultiCell( 170, 10, $this->_getFatchipPayoneBillsafeData( 'clearing_instructionnote'), 0, 'J' , 0, 1, 14, $siteH+24 );
$oPdf->SetTextColor();
$oPdf->text( 15, $siteH+38, "Empfänger:" );
$oPdf->text( 55, $siteH+38, $this->_getFatchipPayoneBillsafeData( 'clearing_bankaccountholder' ) );
$oPdf->text( 15, $siteH+43, "Bank:" );
$oPdf->text( 55, $siteH+43, $this->_getFatchipPayoneBillsafeData( 'clearing_bankname' ) );
$oPdf->text( 15, $siteH+48, "IBAN:" );
$oPdf->text( 55, $siteH+48, $this->_getFatchipPayoneBillsafeData( 'clearing_bankiban' ) );
$oPdf->text( 15, $siteH+53, "BIC:" );
$oPdf->text( 55, $siteH+53, $this->_getFatchipPayoneBillsafeData( 'clearing_bankbic' ) );
$oPdf->text( 15, $siteH+58, "Betrag:" );
$oPdf->text( 55, $siteH+58, $sBrutPrice );
$oPdf->text( 15, $siteH+63, "Verwendungszweck:" );
$oPdf->text( 55, $siteH+63, $this->_getFatchipPayoneBillsafeData( 'clearing_reference' ) );
}

Bitte – wie oben bereits erwähnt – nicht die Core-Datei ändern, sondern oxOrder sauber mit einem Modul überladen. Wer nicht weiß wie das geht: Roman Zenner und ich haben ein Buch dazu geschrieben. 😉

Joscha Krug ist Gründer und Geschäftsführer der marmalade GmbH aus Magdeburg. Mit seinem stetig wachsenden Team realisiert er schon seit 2009 E-Commerce Projekte mit OXID eShop und Shopware. Er ist Autor der beiden OXID Bücher, erschienen bei o'Reilly.