Hallo zusammen,
bei uns funktionieren die Kreditkartenzahlungen nicht, wenn ein Gutschein im Warenkorb ist, da das QuickPay-Plugin eine Artikelnr. erwartet. Ich würde gerne die betroffenen PHP-Datei selber anpassen (der QuickPay-Support hatte für das gleiche Problem bei SW5 ein ganzes Jahr gebraucht, um es zu beheben), kann mir hier jmd. einen Tipp geben, wie das geht? PHP-Kenntnisse sind quasi nicht vorhanden und grad fehlt die Zeit zum Einlesen :-o
Ich wollte es so anpassen, dass wenn getProductNumber ein leeres Ergebnis ausgibt, eine Pseudoartikelnr. eingefügt wird. Die betroffene Zeile: ‚item_no‘ => $lineItem->getProduct()->getProductNumber(),
Hier der ganze betroffene Block:
{
$price = $lineItem->getPrice();
$taxPrice = $price->getCalculatedTaxes()->getAmount() / $lineItem->getQuantity();
$tax = $price->getCalculatedTaxes()->first();
$unitPrice = $price->getUnitPrice() +
($gross ? 0 : $taxPrice);
$basket[] = [
'qty' => $lineItem->getQuantity(),
'item_no' => $lineItem->getProduct()->getProductNumber(),
'item_name' => $lineItem->getLabel(),
'item_price' => intval(round($unitPrice * 100)),
'vat_rate' => $tax ? $tax->getTaxRate() / 100.0 : 0
];
}
Die Fehlermeldung zum Problem aus dem Shopware-Log:
[2021-12-15T15:18:48.449247+00:00] php.CRITICAL: Uncaught Error: Call to a member function getProductNumber() on null {"exception":"[object] (Error(code: 0): Call to a member function getProductNumber() on null at /var/www/clients/client1/web6/web/custom/plugins/shopware-6-master/src/Service/PaymentService.php:275)"} []
[2021-12-15T15:18:48.449949+00:00] request.CRITICAL: Uncaught PHP Exception Error: "Call to a member function getProductNumber() on null" at /var/www/clients/client1/web6/web/custom/plugins/shopware-6-master/src/Service/PaymentService.php line 275 {"exception":"[object] (Error(code: 0): Call to a member function getProductNumber() on null at /var/www/clients/client1/web6/web/custom/plugins/shopware-6-master/src/Service/PaymentService.php:275)"} []
Danke und viele Grüße
Heiko