示例#1
0
 /**
  * @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();
 }