/** * Checks if payment used for current order is available and active. * Throws exception if not available * * @param oxbasket $oBasket basket object * * @return null */ public function validatePayment($oBasket) { // We force reading from master to prevent issues with slow replications or open transactions (see ESDEV-3804). $masterDb = oxDb::getMaster(); $oPayment = oxNew("oxpayment"); $sTable = $oPayment->getViewName(); $sQ = "select 1 from {$sTable} where {$sTable}.oxid=" . $masterDb->quote($oBasket->getPaymentId()) . " and " . $oPayment->getSqlActiveSnippet(); if (!$masterDb->getOne($sQ)) { return self::ORDER_STATE_INVALIDPAYMENT; } }
/** * Checks if delivery set used for current order is available and active. * Throws exception if not available * * @param oxbasket $oBasket basket object * * @return int */ public function validateDelivery($oBasket) { if ($oBasket->getPaymentId() == 'oxidpaypal') { $sShippingId = $oBasket->getShippingId(); $dBasketPrice = $oBasket->getPrice()->getBruttoPrice(); $oUser = oxNew('oxUser'); if (!$oUser->loadUserPayPalUser()) { $oUser = $this->getUser(); } $iValidState = null; if (!$this->_isPayPalPaymentValid($oUser, $dBasketPrice, $sShippingId)) { $iValidState = self::ORDER_STATE_INVALIDDELIVERY; } } else { $iValidState = parent::validateDelivery($oBasket); } return $iValidState; }
/** * Checks if payment used for current order is available and active. * Throws exception if not available * * @param oxbasket $oBasket basket object * * @return null */ public function validatePayment($oBasket) { $oDb = oxDb::getDb(); $oPayment = oxNew("oxpayment"); $sTable = $oPayment->getViewName(); $sQ = "select 1 from {$sTable} where {$sTable}.oxid=" . $oDb->quote($oBasket->getPaymentId()) . " and " . $oPayment->getSqlActiveSnippet(); if (!$oDb->getOne($sQ, false, false)) { return self::ORDER_STATE_INVALIDPAYMENT; } }