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 Neues PLugin: DITH Lieferantenbestand – realistische Lieferzeiten mit Lieferanten- + Eigenbestand Plugins für JTL-Shop 0
Neu PayPal-Plugin blockiert bei PayPal-Störung Checkout JTL-Shop - Fehler und Bugs 4
Neu Teststand auf localhost - Plugin-Lizenzen abgelaufen Plugins für JTL-Shop 1
Neu Neues Plugin: JTL Closed Shop – Zugangsbeschränkung, Pre-Sale & Wartungsmodus für deinen JTL-Shop Plugins für JTL-Shop 1
Neu KI-WaWi-Workflows: Eigene KI-Endpunkte direkt aus JTL-Workflows ansprechen – ohne Plugin, flexibel und schnell Dienstleistung, Jobs und Ähnliches 3
Neu Mindestbestellwerte nach verschiedenen Lieferarten mit dem Plugin Lieferslot Allgemeine Fragen zu JTL-Shop 1
Neu PayPal Checkout Plugin (iPhone), Probleme mit PayPal-App Plugins für JTL-Shop 0
Neu Plugin: Mengenrabatt im Warenkorb nach Artikelanzahl Plugins für JTL-Shop 0
Neu 📢 Neues Plugin "JTL Translate Pro" by Nirico.de Plugins für JTL-Shop 0
Neu JTL PayPal Plugin - keine Einstellmöglichkeiten, keine Anzeige im Frontend Plugins für JTL-Shop 2
Neu Plugin-Idee: Überkäufe Lieferantenbestände & Lieferzeiten (API/CSV/XML) in Shop & Wawi Plugins für JTL-Shop 2
Neu Plugin Manager Fehlermeldung JTL-Shop - Fehler und Bugs 4
Neu Nach Update auf PayPal 2.1.0 doppelte Zahlungsarten und Ratepay Plugin erforderlich Plugins für JTL-Shop 0
Neu Artikelseiten 500 HTTP Fehler PayPal Plugin 2.1.0 JTL Shop 5.4.0 Plugins für JTL-Shop 4
Neu Exportformat Google Shopping Plugin Plugins für JTL-Shop 1
Neu 500 Error durch Paypal Plugin im B2B Shop Plugins für JTL-Shop 0
Neu Plugin Empfehlung gesucht - Warenkorb z.B. Kaufe 2, 2. Produkt x Rabatt Plugins für JTL-Shop 1
Neu CSS-Gutschein-Plugin funktioniert nach Shop-update auf 5.5.3 nicht mehr Plugins für JTL-Shop 1
Neu Google Shopping (Plugin) Export immer leer Allgemeine Fragen zu JTL-Shop 4
Neu Sendcloud Plugin immer im Tab fehlerhaft - Lizenz abgelaufen Plugins für JTL-Shop 0

Ähnliche Themen