hmm,
also hier wird die warenkorb für paypal-express geholt
SwagPaymentPaypal/PaymentPaypal.php at master · shopwareLabs/SwagPaymentPaypal · GitHub
$basket = $this->get('modules')->Basket()->sGetBasket();
und gleich danach geschaut ob es “sShippingcosts” hat:
if (!empty($basket['sShippingcosts'])) {
nun, wenn $this-\>get('modules')-\>Basket()-\>sGetBasket()
ist engine/Shopware/Core/sBasket.php
, frage ich mich von wo da diese “sShippingcosts” überhaupt kommen soll, weil es nirgens da definiert wird:
$ grep sShippingcosts engine/Shopware/Core/sBasket.php | wc -l
0
und wenn ich es debugge, ist “sShippingcosts” wirklich leer in $basket.
also woher soll “sShippingcosts” ins $basket kommen?
ist es vielleicht was altes was mit shopware 5.2.x garnicht mehr gefüllt wird?
…
aber was auch immer, hier wäre wie ich in unseren system die versandkosten (die immer gleich sind, egal welche addresse) an paypal-express (vor login) senden konnte:
diff --git a/engine/Shopware/Plugins/Community/Frontend/SwagPaymentPaypal/Controllers/Frontend/PaymentPaypal.php b/engine/Shopware/Plugins/Community/Frontend/SwagPaymentPaypal/Controllers/Frontend/PaymentPaypal.php
index e2d11ab..08762f8 100644
--- a/engine/Shopware/Plugins/Community/Frontend/SwagPaymentPaypal/Controllers/Frontend/PaymentPaypal.php
+++ b/engine/Shopware/Plugins/Community/Frontend/SwagPaymentPaypal/Controllers/Frontend/PaymentPaypal.php
@@ -821,6 +821,11 @@ class Shopware_Controllers_Frontend_PaymentPaypal extends Shopware_Controllers_F
}
$params['PAYMENTREQUEST_0_AMT'] = $basket['AmountNumeric'];
}
+
+ $shippingcosts = Shopware()->Modules()->Admin()->sGetPremiumShippingcosts();
+ $params['PAYMENTREQUEST_0_SHIPPINGAMT'] = $shippingcosts["surcharge"];
+ $params['PAYMENTREQUEST_0_AMT'] += $params['PAYMENTREQUEST_0_SHIPPINGAMT'];
+
$params['PAYMENTREQUEST_0_AMT'] = number_format($params['PAYMENTREQUEST_0_AMT'], 2, '.', '');
$params['PAYMENTREQUEST_0_SHIPPINGAMT'] = number_format($params['PAYMENTREQUEST_0_SHIPPINGAMT'], 2, '.', '');
$params['PAYMENTREQUEST_0_ITEMAMT'] = number_format($params['PAYMENTREQUEST_0_AMT'] - $params['PAYMENTREQUEST_0_SHIPPINGAMT'], 2, '.', '');
hat jemand bessere ideen?
ps. hab noch nicht getestet ob diese jetzt für paypal-express versandkosten doppelt addiert…