/** * Returns base basket price for payment cost calculations. Price depends on * payment setup (payment administration) * * @param oxbasket $oBasket oxbasket object * * @return double */ public function getBaseBasketPriceForPaymentCostCalc($oBasket) { $dBasketPrice = 0; $iRules = $this->oxpayments__oxaddsumrules->value; // products brutto price if (!$iRules || $iRules & self::PAYMENT_ADDSUMRULE_ALLGOODS) { $dBasketPrice += $oBasket->getProductsPrice()->getBruttoSum(); } // discounts if ((!$iRules || $iRules & self::PAYMENT_ADDSUMRULE_DISCOUNTS) && ($oCosts = $oBasket->getTotalDiscount())) { $dBasketPrice -= $oCosts->getBruttoPrice(); } // vouchers if (!$iRules || $iRules & self::PAYMENT_ADDSUMRULE_VOUCHERS) { $dBasketPrice -= $oBasket->getVoucherDiscValue(); } // delivery if ((!$iRules || $iRules & self::PAYMENT_ADDSUMRULE_SHIPCOSTS) && ($oCosts = $oBasket->getCosts('oxdelivery'))) { $dBasketPrice += $oCosts->getBruttoPrice(); } // wrapping if ($iRules & self::PAYMENT_ADDSUMRULE_GIFTS && ($oCosts = $oBasket->getCosts('oxwrapping'))) { $dBasketPrice += $oCosts->getBruttoPrice(); } return $dBasketPrice; }