예제 #1
0
 /**
  * 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;
     }
 }
예제 #2
0
 /**
  * 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;
 }
예제 #3
0
 /**
  * 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;
     }
 }