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
OrderListener.php
*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
Zuletzt bearbeitet: