Franz Holzinger

Verse of the day

Harre des HERRN! Sei getrost und unverzagt und harre des HERRN!
Psalm 27:14

© Bible Gateway's Verse of the Day


Specific Gateway Extensions
 
 
Exception mit transactor_paypal unter TYPO3 v8
 
Autor: Sebastian Klein Datum: 26-07-18 11:01:03
 
Hallo Herr Holzinger,

ich erhalte aktuell eine TYPO3 Exception bei Verwendung von "Transactor PayPal Gateway" unter den folgenden Voraussetzungen:
- Aufruf des Warenkorbs mit dem Plugin "Warenkorb: Kontrolle und Bezahlung"
- TypoScript: "plugin.tt_products.paymentActivity = payment"
- Extension Manager, "transactor": Compatibility Mode auf "0" (= neue API)
- Versionen:
• TYPO3 8.7.13
• tt_products 3.0.0.52
• transactor 0.7.0
• transactor_paypal 0.2.4



Die Fehlermeldung:
#1476107295: PHP Warning: call_user_func_array() expects parameter 1 to be a valid callback, class 'JambageCom\Transactor\Api\Start' does not have a method 'render' in typo3conf/ext/tt_products/Classes/Controller/ActivityController.php line 331 (More information)

TYPO3\CMS\Core\Error\Exception thrown in file
typo3_src-8.7.13/typo3/sysext/core/Classes/Error/ErrorHandler.php in line 107.

22 TYPO3\CMS\Core\Error\ErrorHandler::handleError(2, "call_user_func_array() expects parameter 1 to be a…nsactor\Api\Start' does not have a method 'render'", "/pfad/zu/typo3conf/ext/tt_products/Classes/Controller/ActivityController.php", 331, array)
21 call_user_func_array("\JambageCom\Transactor\Api\Start::render", array)

/pfad/zu/typo3conf/ext/tt_products/Classes/Controller/ActivityController.php:
00329: $content = call_user_func_array(
00330: $callingClassName . '::render',
00331: $parameters
00332: );
00333: debug ($callingClassName, '$callingClassName nach transactor render');

Tatsächlich scheint die Methode "render" in der Klasse "Start" nicht zu existieren.

---------------------

Wenn ich stattdessen im Extension Manager bei "transactor" den Compatibility Mode auf "1" setze, erhalte ich eine andere Fehlermeldung:

Warning: Uncaught TYPO3\CMS\Core\Error\Exception: PHP Warning: require_once(/pfad/zu/typo3conf/ext/transactor_paypal/model/class.tx_transactorpaypal_gateway.php): failed to open stream: No such file or directory in /pfad/zu/typo3conf/ext/transactor/model/class.tx_transactor_gatewayproxy.php line 65 in /pfad/zu/typo3_src-8.7.13/typo3/sysext/core/Classes/Error/ErrorHandler.php:107 Stack trace: #0 /pfad/zu/typo3conf/ext/transactor/model/class.tx_transactor_gatewayproxy.php(65): TYPO3\CMS\Core\Error\ErrorHandler->handleError(2, 'require_once(/p...', '/pfad/zu/...', 65, Array) #1 /pfad/zu/typo3conf/ext/transactor/model/class.tx_transactor_gatewayproxy.php(65): require_once() #2 /pfad/zu/typo3conf/ext/transactor/model/class.tx_transactor_gatewayfactory.php(82): tx_transactor_gatewayproxy->init('transactor_payp...') #3 /pfad/zu/typo3conf/ext/transactor/Classes/Api/PaymentPre in /pfad/zu/typo3_src-8.7.13/typo3/sysext/core/Classes/Error/ErrorHandler.php on line 107


Dieser Fehler erfolgt durch die Zeile 65 in class.tx_transactor_gatewayproxy.php:
require_once(t3lib_extMgm::extPath($extKey) . 'model/class.' . $this->gatewayClass . '.php');
Sie generiert einen Pfad zur Datei "class.tx_transactorpaypal_gateway.php", welche nicht existiert in der Extension "transactor".

---------------------

Welchen Compatibility Mode sollte ich unter den oben genannten Voraussetzungen besser verwenden?
Und wie kann ich den entsprechenden Fehler dann beheben: ist es eine Fehlkonfiguration auf meiner Seite oder muss eine der Extensions angepasst werden?

---------------------

Der Vollständigkeit halber noch mein TypoScript zur Bezahlart "PayPal":

lib.transactor_paypal {
extName = transactor_paypal
extTitle = PayPal Website Payments Standard
extInfo = PayPal enables any business or consumer with an email address to securely, conveniently, and cost-effectively send and receive payments online.
extImage = EXT:transactor_paypal/Resources/Public/Images/paypal_euro.gif
gatewaymode = form
paymentMethod = paypal_webpayment_standard
currency = EUR
templateFile = EXT:transactor/Resources/Private/Templates/PaymentHtmlTemplate.html
costs = auto

returnPID = 190
cancelPID = 189
}

plugin.tt_products {
payment >
payment {
radio = 1
50.title = Vorkasse
60.title = PayPal
60.handleLib = transactor
60.handleLib < lib.transactor_paypal
60.image.file = EXT:transactor_paypal/Resources/Public/Images/PP_logo_h_200x51.png
}
}