/** * Process fraud status * * @param \Magento\Sales\Model\Order\Payment $payment * @return $this */ protected function processPaymentFraudStatus(\Magento\Sales\Model\Order\Payment $payment) { try { $fraudDetailsResponse = $payment->getMethodInstance()->fetchTransactionFraudDetails($this->getResponse()->getXTransId()); $fraudData = $fraudDetailsResponse->getData(); if (empty($fraudData)) { $payment->setIsFraudDetected(false); return $this; } $payment->setIsFraudDetected(true); $payment->setAdditionalInformation('fraud_details', $fraudData); } catch (\Exception $e) { //this request is optional } return $this; }
/** * Generate end return new secure hash value * * @param \Magento\Sales\Model\Order\Payment $payment * @return string */ protected function _generateSecureSilentPostHash($payment) { $secureHash = md5($this->mathRandom->getRandomString(10)); $payment->setAdditionalInformation($this->_secureSilentPostHashKey, $secureHash); return $secureHash; }
/** * {@inheritdoc} */ public function setAdditionalInformation($key, $value = null) { $pluginInfo = $this->pluginList->getNext($this->subjectType, 'setAdditionalInformation'); if (!$pluginInfo) { return parent::setAdditionalInformation($key, $value); } else { return $this->___callPlugins('setAdditionalInformation', func_get_args(), $pluginInfo); } }