/** * Add status comment * * @param \Magento\Sales\Model\Order\Payment $payment * @return $this */ protected function addStatusComment(\Magento\Sales\Model\Order\Payment $payment) { try { $transactionId = $this->getResponse()->getXTransId(); $data = $payment->getMethodInstance()->getTransactionDetails($transactionId); $transactionStatus = (string) $data->transaction->transactionStatus; $fdsFilterAction = (string) $data->transaction->FDSFilterAction; if ($payment->getIsTransactionPending()) { $message = 'Amount of %1 is pending approval on the gateway.<br/>' . 'Transaction "%2" status is "%3".<br/>' . 'Transaction FDS Filter Action is "%4"'; $message = __($message, $payment->getOrder()->getBaseCurrency()->formatTxt($this->getResponse()->getXAmount()), $transactionId, $this->dataHelper->getTransactionStatusLabel($transactionStatus), $this->dataHelper->getFdsFilterActionLabel($fdsFilterAction)); $payment->getOrder()->addStatusHistoryComment($message); } } catch (\Exception $e) { //this request is optional } return $this; }
/** * {@inheritdoc} */ public function getIsTransactionPending() { $pluginInfo = $this->pluginList->getNext($this->subjectType, 'getIsTransactionPending'); if (!$pluginInfo) { return parent::getIsTransactionPending(); } else { return $this->___callPlugins('getIsTransactionPending', func_get_args(), $pluginInfo); } }