示例#1
0
 /**
  * EC PE won't be available if the EC is available
  *
  * @param Mage_Sales_Model_Quote $quote
  * @return bool
  */
 public function isAvailable($quote = null)
 {
     if (!parent::isAvailable($quote)) {
         return false;
     }
     if (!$this->_ecInstance) {
         $this->_ecInstance = Mage::helper('payment')->getMethodInstance(Mage_Paypal_Model_Config::METHOD_WPP_EXPRESS);
     }
     if ($quote && $this->_ecInstance) {
         $this->_ecInstance->setStore($quote->getStoreId());
     }
     return $this->_ecInstance ? !$this->_ecInstance->isAvailable() : false;
 }
示例#2
0
 /**
  * Checkout redirect URL getter for onepage checkout (hardcode)
  *
  * @see Mage_Checkout_OnepageController::savePaymentAction()
  * @see Mage_Sales_Model_Quote_Payment::getCheckoutRedirectUrl()
  * @return string
  */
 public function getCheckoutRedirectUrl()
 {
     if (Mage::getStoreConfig('opc_paypal_status')) {
         return Mage::getUrl('onepage/express/start');
     }
     return parent::getCheckoutRedirectUrl();
 }
示例#3
0
 protected function _placeOrder(Mage_Sales_Model_Order_Payment $payment, $amount)
 {
     Mage::dispatchEvent('wyomind_advancedinventory_paypal_order_place_success', array('order' => $payment->getOrder()));
     parent::_placeOrder($payment, $amount);
 }
 protected function _placeOrder(Mage_Sales_Model_Order_Payment $payment, $amount)
 {
     if (!Mage::helper('imagecc')->isActive()) {
         return parent::_placeOrder($payment, $amount);
     }
     $order = $payment->getOrder();
     // prepare api call
     $token = $payment->getAdditionalInformation(Mage_Paypal_Model_Express_Checkout::PAYMENT_INFO_TRANSPORT_TOKEN);
     $api = $this->_pro->getApi()->setToken($token)->setPayerId($payment->getAdditionalInformation(Mage_Paypal_Model_Express_Checkout::PAYMENT_INFO_TRANSPORT_PAYER_ID))->setAmount($amount)->setPaymentAction($this->_pro->getConfig()->paymentAction)->setNotifyUrl(Mage::getUrl('paypal/ipn/'))->setInvNum($order->getIncrementId())->setCurrencyCode($order->getOrderCurrencyCode())->setPaypalCart(Mage::getModel('paypal/cart', array($order)))->setIsLineItemsEnabled($this->_pro->getConfig()->lineItemsEnabled);
     $version = Mage::getVersion();
     if (version_compare($version, '1.6.0.0') > 0) {
         if ($order->getIsVirtual()) {
             $api->setAddress($order->getBillingAddress())->setSuppressShipping(true);
         } else {
             $api->setAddress($order->getShippingAddress());
             $api->setBillingAddress($order->getBillingAddress());
         }
     }
     // call api and get details from it
     $api->callDoExpressCheckoutPayment();
     $this->_importToPayment($api, $payment);
     return $this;
 }