/** * Return URL on which Authorize.net server will return payment result data in hidden request. * * @param int $storeId * @return string */ public function getRelayUrl($storeId = null) { if ($storeId == null && $this->getStore()) { $storeId = $this->getStore(); } return $this->_helper->getRelyUrl($storeId); }
/** * Response action. * Action for Authorize.net SIM Relay Request. * * @param \Magento\Authorizenet\Helper\HelperInterface $helper * @return void */ protected function _responseAction(\Magento\Authorizenet\Helper\HelperInterface $helper) { $params = array(); $data = $this->getRequest()->getPost(); /* @var $paymentMethod \Magento\Authorizenet\Model\DirectPost */ $paymentMethod = $this->_objectManager->create('Magento\\Authorizenet\\Model\\Directpost'); $result = array(); if (!empty($data['x_invoice_num'])) { $result['x_invoice_num'] = $data['x_invoice_num']; } try { if (!empty($data['store_id'])) { $paymentMethod->setStore($data['store_id']); } $paymentMethod->process($data); $result['success'] = 1; } catch (\Magento\Framework\Model\Exception $e) { $this->_objectManager->get('Magento\\Framework\\Logger')->logException($e); $result['success'] = 0; $result['error_msg'] = $e->getMessage(); } catch (\Exception $e) { $this->_objectManager->get('Magento\\Framework\\Logger')->logException($e); $result['success'] = 0; $result['error_msg'] = __('We couldn\'t process your order right now. Please try again later.'); } if (!empty($data['controller_action_name']) && strpos($data['controller_action_name'], 'sales_order_') === false) { if (!empty($data['key'])) { $result['key'] = $data['key']; } $result['controller_action_name'] = $data['controller_action_name']; $result['is_secure'] = isset($data['is_secure']) ? $data['is_secure'] : false; $params['redirect'] = $helper->getRedirectIframeUrl($result); } $this->_coreRegistry->register('authorizenet_directpost_form_params', $params); $this->_view->addPageLayoutHandles(); $this->_view->loadLayout(false)->renderLayout(); }