View Issue Details

IDProjectCategoryView StatusLast Update
0007376module PayPal Checkoutmodule PayPal checkout - subpublic2022-11-02 18:54
Reporterthorsten.schneider 
PrioritynormalSeveritymajorReproducibilityalways
Status acknowledgedResolutionopen 
Product Version2.2.2 / 1.2.2 
Target VersionFixed in Version 
Summary0007376: _executePayment(...) breaks with other payment module
DescriptionUsing Paypal checkout together with tronet sofort├╝berweisung breaks the checkout as there is an inconsistency in the function call:

[message Declaration of Tronet\Trosofortueberweisung\Application\Model\TrosofortueberweisungOrder::_executePayment(OxidEsales\Eshop\Application\Model\Basket $oBasket, $oUserPayment) must be compatible with OxidSolutionCatalysts\PayPal\Model\Order::_executePayment($basket, $userpayment)]

IMHO is the function declaration in the PayPal Module not correct as the base function out of the shop framework and the declaration in the tronet module are equal. Adding "OxidEsales\Eshop\Application\Model\Basket" to the function parameter $basket fixes the problem.
Steps To Reproduce- Install Shop
- Install and activate Paypal checkout and Tronet sofort├╝berweisung
- Make an order -> shop in maintenance mode + error in log file
Additional InformationIn our case it was sufficient to add the declaration as stated in the description. As this is the same as in the base Order Model Class it seems to me that this is just missing in the Paypal Module.
TagsPayment

Activities

QA

2022-11-02 18:53

administrator   ~0014623

Last edited: 2022-11-02 18:54

View 2 revisions

Hi Thorsten,

you are right, thank you for the report!

Expected:
protected function _executePayment(\OxidEsales\Eshop\Application\Model\Basket $basket, $userpayment)
Actual:
protected function _executePayment($basket, $userpayment)


Nice to have: $userpayment -> $userPayment

-MK