View Issue Details

IDProjectCategoryView StatusLast Update
0007376module PayPal Checkoutmodule PayPal checkout - subpublic2022-12-14 14:30
Reporterthorsten.schneider Assigned To 
PrioritynormalSeveritymajorReproducibilityalways
Status resolvedResolutionfixed 
Product Version2.2.2 / 1.2.2 
Fixed in Version2.2.3 / 1.2.3 
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

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

[email protected]

2022-12-13 18:22

manager   ~0014946

ready for review