Gelöst Plugin: PaypalPlus Rechnungskauf - Kontodaten ins Wawi übertragen

zzotti

Aktives Mitglied
2. Oktober 2016
7
0
Hallo,

*UPDATE*
Das Plugin funktioniert doch fehlerfrei.
Ich habe es mal für alle hier angehängt.

Was macht es?
Sofern Ihr Paypal Plus in Kombination mit Kauf auf Rechnung (über Paypal) nutzt, dann wird
- die Zahlungsart auf "Paypal Rechnung" geändert - statt Paypal
- Die Paypalkontodaten und Verwendungszweck hinzugefügt. Diese könnten dann im Rechnungstext im Wawi angegeben werden.

Bitte beachten:
Als Kontoinhaber wird aktuell der Verwendungszweck angegeben. (Kontoinhaber ist: Paypal Europe)
Grund: Ich habe keine Ahnung, in welche Variable ich diesen speichern soll, vielleicht hilft da ein Admin.

Wie installiert Ihr es?
Einfach die ZIP Datei in den Plugin Ordner des JTLConnectors entpacken.

Ordnerstruktur:
paypalpluskontodaten
-bootsrap.php
-listenter/OrderListener.php

bootstrap.php

PHP:
<?php

namespace paypalpluskontodaten;

use \jtl\Connector\Plugin\IPlugin;
use \Symfony\Component\EventDispatcher\EventDispatcher;
use \paypalpluskontodaten\listener\OrderListener;
use \jtl\Connector\Event\CustomerOrder\CustomerOrderAfterPullEvent;

class Bootstrap implements IPlugin
{
    public function registerListener(EventDispatcher $dispatcher)
    {
        $dispatcher->addListener(CustomerOrderAfterPullEvent::EVENT_NAME, [
            new OrderListener(),
            'onCustomerOrderAfterPullAction'
        ]);
    }
}

?>

OrderListener.php

PHP:
<?php
namespace paypalpluskontodaten\listener;

use \jtl\Connector\Event\CustomerOrder\CustomerOrderAfterPullEvent;
use \jtl\Connector\Core\Logger\Logger;
use \jtl\Connector\Formatter\ExceptionFormatter;
use \jtl\Connector\Core\Utilities\Language as LanguageUtil;
use \jtl\Connector\Model\CustomerOrderPaymentInfo;

class OrderListener
{
    public function onCustomerOrderAfterPullAction(CustomerOrderAfterPullEvent $event)
    {
        if (strlen($event->getCustomerOrder()->getId()->getEndpoint()) == 0) {
            return;
        }

        try {
            $order = $event->getCustomerOrder();
            $orderId = $order->getId()->getEndpoint();

            //$wc_order = \wc_get_order($order->getId()->getEndpoint());
            //Logger::write(print_r(\get_post_meta($orderId, 'instruction_type', true), true), Logger::WARNING, 'plugin');

            if(\get_post_meta($orderId, 'instruction_type', true) == 'PAY_UPON_INVOICE'){

                $paymentInfo = (new CustomerOrderPaymentInfo())
                ->setBic(\get_post_meta($orderId, 'bank_identifier_code', true))
                ->setIban(\get_post_meta($orderId, 'international_bank_account_number', true))
                ->setAccountHolder(\get_post_meta($orderId, 'reference_number', true))
                ->setBankName(\get_post_meta($orderId, 'bank_name', true));


            $order->setPaymentInfo($paymentInfo);
            $order->setPaymentModuleCode('Paypal Rechnung');

            //Logger::write(print_r($paymentInfo, true), Logger::WARNING, 'plugin');
            }
            else{
                /*
                //Nur zu Testzwecken
                 $paymentInfo = (new CustomerOrderPaymentInfo())
                ->setBic('TestBic')
                ->setIban('TestIban')
                ->setAccountHolder('TestHolder')
                ->setBankName('TestBank');

                $order->setPaymentInfo($paymentInfo);
                $order->setPaymentModuleCode('Paypal Rechnung');
                */
            }

        } catch (\Exception $e) {
            Logger::write(ExceptionFormatter::format($e), Logger::WARNING, 'plugin');
        }
    }
}


?>

?>
 

Anhänge

  • paypalpluskontodaten.zip
    1,5 KB · Aufrufe: 30
Zuletzt bearbeitet:

zzotti

Aktives Mitglied
2. Oktober 2016
7
0
OK, falscher Alarm.

Das Plugin funktioniert und die Daten werden richtig übertragen. Zumindest findet man sie in der Datenbank.
Ich habe einfach an der falschen Stelle im Wawi geschaut :rolleyes:
 
Ähnliche Themen
Titel Forum Antworten Datum
Neu Plugin: Infinite Scroll / „Mehr laden“ für JTL-Shop 5 – einmalige Lizenz, kein Abo Plugins für JTL-Shop 0
Beantwortet Plugin über Pluginmanager deinstalliert – Einträge in tpluginmigration verblieben – einfach löschen? Plugins für JTL-Shop 1
Neu PlugIn: GLS Privatkundenlabels sollen über den Packtisch ausgegeben können / Schnittstelle zu GLS Privat Dienstleistung, Jobs und Ähnliches 0
Neu 💚 Plugin: DZM Bonus Plus - das Treueprogramm für deinen JTL-Shop Plugins für JTL-Shop 12
Neu Stripe plugin mit JTL SHOP Error 500 Plugins für JTL-Shop 2
Neu css Einstellungen Paypal Plugin von JTL JTL-Shop - Fehler und Bugs 1
Neu 💚 Plugin: DZM Agentic Plus - dein Shop wird für KI-Agenten lesbar und abfragbar Plugins für JTL-Shop 0
Neu JTL-Shop 5 Backup Professional Plugin Plugins für JTL-Shop 0
Neu Plugin trotz Hinweis Kompatibel mit JTL-Shop bis 5.6.* auch unter 5.7.2 nutzen Plugins für JTL-Shop 2
Neu Mail mit Plugin zum testen der Sicherheitslücke echt? Allgemeine Fragen zu JTL-Shop 47
Beantwortet [Shop 5.7.2 / Wawi 2.0.5] GPSR-Daten werden am Artikel nicht angezeigt trotz korrekter Übertragung und installiertem Plugin Allgemeine Fragen zu JTL-Shop 1
Neu JTL Shop Plugin - BD Automatisierter Widerruf (Von Händler für Händler - Schluss mit Mail-Chaos & Spam-Sorgen!) Plugins für JTL-Shop 0
Neu Plugin: JTL Exportformat Google Shopping gibt <g:google_product_category> unter Shop 5.7.1 und Wawi 2.0.4 nicht aus Plugins für JTL-Shop 1

Ähnliche Themen