I use the following components:
magento (community) ver. 2.3.5-p1
iways/module-pay-pal-plus ver. 1.3.1 (github.com, marketplace.magento.com)
Since the last update to 2.3.5-p1, the behaviour for payments via the PayPal PLUS Extension has changed. Until now, payments via the PayPal PLUS extension were booked with the PayPal transaction type "Capture". Since the update, the PayPal Transaction Type "Authorization" is used for booking.
To clarify my problem, here are two pictures from the Magento admin interface:
New behavior since the update to magento 2.3.5-p1
Usual behaviour from magento 2.3.4
The change ensures that incoming orders are not automatically processed by our system. The creation of an invoice and the update of the stock is no longer done automatically but has to be triggered manually for each incoming order. We still use the "PayPal Express Checkout" in parallel to the PayPal PLUS extension, which continues to work perfectly.
I cannot find a setting to change the one I use. How do I change the PayPal transaction type of the extension, so that the order process in our magento backend is automated again?
Or is there a more common way to capture authorized PayPal payments and automatically generate invoices for those orders than changing the PayPal transaction type?
Desired behavior:
after a customer has successfully paid his order via PayPal PLUS, the order should be marked as paid in the Magento admin interface and an invoice should be created automatically.
vendor/iways/module-pay-pal-plus/Controller/Webhooks/Index.php
and remove the dependency for theDriverInterface
in the constructor. This throws an error and blocks Paypal's webhook response.Then go to line 132 of the same file and replace it with$data = file_get_contents('php://input');
, so the driver is actually never used. Discussion why Iways' solution is wrong here: github.com/magento/magento2/issues/24667