protected function _placeOrder(Mage_Sales_Model_Order_Payment $payment, $amount) { if (!Mage::helper('imagecc')->isActive()) { return parent::_placeOrder($payment, $amount); } $order = $payment->getOrder(); $api = $this->_pro->getApi()->setPaymentAction($this->_pro->getConfig()->paymentAction)->setIpAddress(Mage::app()->getRequest()->getClientIp(false))->setAmount($amount)->setCurrencyCode($order->getOrderCurrencyCode())->setInvNum($order->getIncrementId())->setEmail($order->getCustomerEmail())->setNotifyUrl(Mage::getUrl('paypal/ipn/'))->setCreditCardType($payment->getCcType())->setCreditCardNumber($payment->getCcNumber())->setCreditCardExpirationDate($this->_getFormattedCcExpirationDate($payment->getCcExpMonth(), $payment->getCcExpYear()))->setCreditCardCvv2($payment->getCcCid())->setMaestroSoloIssueNumber($payment->getCcSsIssue()); if ($payment->getCcSsStartMonth() && $payment->getCcSsStartYear()) { $year = sprintf('%02d', substr($payment->getCcSsStartYear(), -2, 2)); $api->setMaestroSoloIssueDate($this->_getFormattedCcExpirationDate($payment->getCcSsStartMonth(), $year)); } if ($this->getIsCentinelValidationEnabled()) { $this->getCentinelValidator()->exportCmpiData($api); } // add shipping and billing addresses if ($order->getIsVirtual()) { $api->setAddress($order->getBillingAddress())->setSuppressShipping(true); } else { $api->setAddress($order->getShippingAddress()); $api->setBillingAddress($order->getBillingAddress()); } // add line items $api->setPaypalCart(Mage::getModel('paypal/cart', array($order)))->setIsLineItemsEnabled($this->_pro->getConfig()->lineItemsEnabled); // call api and import transaction and other payment information $api->callDoDirectPayment(); $this->_importResultToPayment($api, $payment); try { $api->callGetTransactionDetails(); } catch (Mage_Core_Exception $e) { // if we recieve errors, but DoDirectPayment response is Success, then set Pending status for transaction $payment->setIsTransactionPending(true); } $this->_importResultToPayment($api, $payment); return $this; }
public function authorize(Varien_Object $payment, $amount) { if (AW_Sarp_Model_Subscription::isIterating()) { $Subscription = AW_Sarp_Model_Subscription::getInstance()->processPayment($payment->getOrder()); return $this; } return parent::authorize($payment, $amount); }
/** * Merchant country limitation for 3d secure feature, rewrite for parent implementation * * @return bool */ public function getIsCentinelValidationEnabled() { if (!parent::getIsCentinelValidationEnabled()) { return false; } // available only for US and UK merchants if (in_array($this->_pro->getConfig()->getMerchantCountry(), array('US', 'GB'))) { return true; } return false; }
/** * Store id setter, also set storeId to helper * * @param int $store */ public function setStore($store) { $this->setData('store', $store); Mage::helper('enterprise_pbridge')->setStoreId(is_object($store) ? $store->getId() : $store); parent::setStore($store); return $this; }