Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
BackendResponse.php
Go to the documentation of this file.
1 <?php
8 
11 use Magento\Authorizenet\Model\DirectpostFactory;
19 use Psr\Log\LoggerInterface;
20 
22 {
26  private $logger;
27 
31  private $directpostFactory;
32 
42  public function __construct(
43  Context $context,
44  Registry $coreRegistry,
46  DirectpostFactory $directpostFactory,
47  LoggerInterface $logger = null
48  ) {
49  parent::__construct($context, $coreRegistry, $dataFactory);
50  $this->directpostFactory = $directpostFactory ?: $this->_objectManager->create(DirectpostFactory::class);
51  $this->logger = $logger ?: $this->_objectManager->get(LoggerInterface::class);
52  }
53 
60  return null;
61  }
62 
66  public function validateForCsrf(RequestInterface $request): ?bool
67  {
68  return true;
69  }
70 
77  public function execute()
78  {
79  $data = $this->getRequest()->getParams();
81  $paymentMethod = $this->directpostFactory->create();
82  if (!empty($data['store_id'])) {
83  $paymentMethod->setStore($data['store_id']);
84  }
85  $paymentMethod->setResponseData($data);
86  try {
87  $paymentMethod->validateResponse();
88  } catch (LocalizedException $e) {
89  $this->logger->critical($e->getMessage());
90  return $this->_redirect('noroute');
91  }
92  $this->_responseAction('adminhtml');
93  return $this->resultFactory->create(ResultFactory::TYPE_PAGE);
94  }
95 }
_redirect($path, $arguments=[])
Definition: Action.php:167
__construct(Context $context, Registry $coreRegistry, DataFactory $dataFactory, DirectpostFactory $directpostFactory, LoggerInterface $logger=null)