public function testGetIdByPayuplOrderIdSuccess() { $payuplOrderId = 'ABC'; $resultTableRow = ['transaction_id' => 1]; $this->internalTestGetIdByPayuplOrderId($payuplOrderId, $resultTableRow); $this->assertEquals($resultTableRow['transaction_id'], $this->model->getIdByPayuplOrderId($payuplOrderId)); }
/** * @param string $payuplOrderId * @param string $status * @param bool $close * @throws LocalizedException */ public function updateStatus($payuplOrderId, $status, $close = false) { /** * @var $transaction \Magento\Sales\Model\Order\Payment\Transaction */ $id = $this->transactionResource->getIdByPayuplOrderId($payuplOrderId); if (!$id) { throw new LocalizedException(new Phrase('Transaction ' . $payuplOrderId . ' not found.')); } $transaction = $this->transactionRepository->get($id); if ($close) { $transaction->setIsClosed(1); } $rawDetailsInfo = $transaction->getAdditionalInformation(\Magento\Sales\Model\Order\Payment\Transaction::RAW_DETAILS); $rawDetailsInfo['status'] = $status; $transaction->setAdditionalInformation(\Magento\Sales\Model\Order\Payment\Transaction::RAW_DETAILS, $rawDetailsInfo)->save(); }