protected function _logResponseException(Exception $e) { if ($e instanceof \Payin7Payments\Exception\Payin7APIException) { $response = $e->getResponse(); $code = $response->getStatusCode(); $body = $response->getBody(); $this->_logger->logError("[API SERVER ERROR] Status Code: {$code} | Body: {$body}"); } else { $this->_logger->logError("[API SERVER ERROR] " . $e->getMessage() . ', Code: ' . $e->getCode()); } }
/** * @param Mage_Sales_Model_Order $order * @return $this * @throws Mage_Core_Exception * @internal param $amount */ protected function _callPostOrder($order) { /** @var Payin7_Payments_Helper_Data $phelper */ $phelper = Mage::helper('payin7payments'); /** @var Mage_Core_Helper_Http $core_http */ //$core_http = Mage::helper('core/http'); // mark as customer NOT notified as really it has not been $order->setCustomerNoteNotify(false); /** @noinspection PhpUndefinedMethodInspection */ $order->getPayment()->setSkipOrderProcessing(true); $source = Mage::app()->getStore()->isAdmin() ? 'backend' : 'frontend'; $ordered_by_ip_address = \Payin7Payments\StringUtils::getIpAddress(); // magento integrated method does not return the proper IP address when it has been forwarded (e.g. server is behind a proxy gw - haproxy) //$core_http->getRemoteAddr(); $locale = Mage::app()->getLocale()->getLocaleCode(); /** @var Payin7_Payments_Model_Remote_Order_Submit $order_submit */ $order_submit = Mage::getModel('payin7payments/remote_order_submit'); $order_submit->setSysinfo($phelper->getSysinfo()); $order_submit->setOrderedByIpAddress($ordered_by_ip_address); $order_submit->setSource($source); $order_submit->setOrder($order); $order_submit->setLanguageCode($locale); try { // force submit it to update any statuses locally $status = $order_submit->submitOrder(true); if (!$status) { throw new Exception(Mage::helper('payin7payments')->__('Payment could not be completed. Please try again later')); } } catch (\Payin7Payments\Exception\ClientErrorResponseException $e) { Mage::throwException($e->getFullServerErrorMessage()); } catch (Exception $e) { $this->_logger->logError('Submit order failure: ' . $e); Mage::throwException(Mage::helper('payin7payments')->__('Payment could not be completed. Please try again later')); } return $this; }