/** * Add control buttons * * @return void */ protected function _construct() { parent::_construct(); $this->_txn = $this->_coreRegistry->registry('current_transaction'); if (!$this->_txn) { return; } $backUrl = $this->_txn->getOrderUrl() ? $this->_txn->getOrderUrl() : $this->getUrl('sales/*/'); $this->buttonList->add('back', ['label' => __('Back'), 'onclick' => "setLocation('{$backUrl}')", 'class' => 'back']); $fetchTransactionAllowed = $this->_authorization->isAllowed('Magento_Sales::transactions_fetch'); $canFetchTransaction = $this->orderPaymentRepository->get($this->_txn->getPaymentId())->getMethodInstance()->canFetchTransactionInfo(); if ($fetchTransactionAllowed && $canFetchTransaction) { $fetchUrl = $this->getUrl('sales/*/fetch', ['_current' => true]); $this->buttonList->add('fetch', ['label' => __('Fetch'), 'onclick' => "setLocation('{$fetchUrl}')", 'class' => 'button']); } }
public function beforeGetLayout(\Magento\Sales\Block\Adminhtml\Transactions\Detail $subject) { $this->_txn = $this->_coreRegistry->registry('current_transaction'); if (!$this->_txn) { return; } if ($this->_txn->getTxnType() != Transaction::TYPE_REFUND) { return; } /** @var \Magento\Sales\Model\Order\Payment\Interceptor $payment */ $payment = $this->orderPaymentRepository->get($this->_txn->getPaymentId()); $methodInstance = $payment->getMethodInstance(); if ($methodInstance instanceof \Wirecard\CheckoutPage\Model\AbstractPayment) { $addInfo = $this->_txn->getAdditionalInformation('raw_details_info'); if (isset($addInfo['orderNumber']) && isset($addInfo['creditNumber'])) { $fetchUrl = $this->_urlBuilder->getUrl('wirecardcheckoutpage/transactions/refundreversal', ['_current' => true]); $subject->addButton('refundreversal', ['label' => __('Refund Reversal'), 'onclick' => "setLocation('{$fetchUrl}')", 'class' => 'button']); } } }
/** * @param Transaction $transaction * @return array */ private function getPreparedTransactionData(Transaction $transaction) { $additionalInfo = []; foreach ($transaction->getAdditionalInformation() as $value) { $additionalInfo[] = $value; } $expectedData = ['transaction_id' => (int) $transaction->getId()]; if ($transaction->getParentId() !== null) { $expectedData['parent_id'] = (int) $transaction->getParentId(); } $expectedData = array_merge($expectedData, ['order_id' => (int) $transaction->getOrderId(), 'payment_id' => (int) $transaction->getPaymentId(), 'txn_id' => $transaction->getTxnId(), 'parent_txn_id' => $transaction->getParentTxnId() ? (string) $transaction->getParentTxnId() : '', 'txn_type' => $transaction->getTxnType(), 'is_closed' => (int) $transaction->getIsClosed(), 'additional_information' => ['data'], 'created_at' => $transaction->getCreatedAt(), 'child_transactions' => []]); return $expectedData; }
/** * @param TrasactionModel $transactionModel * @param bool $lazy * @return Transaction */ public function extractDto(TrasactionModel $transactionModel, $lazy = false) { /** @var TransactionBuilder $transactionBuilder */ $transactionBuilder = $this->transactionBuilderFactory->create(); $transactionBuilder->setTransactionId($transactionModel->getTransactionId()); $transactionBuilder->setParentId($transactionModel->getParentId()); $transactionBuilder->setOrderId($transactionModel->getOrderId()); $transactionBuilder->setTxnId($transactionModel->getTxnId()); $transactionBuilder->setPaymentId($transactionModel->getPaymentId()); $transactionBuilder->setParentTxnId($transactionModel->getParentTxnId()); $transactionBuilder->setTxnType($transactionModel->getTxnType()); $transactionBuilder->setIsClosed($transactionModel->getIsClosed()); $transactionBuilder->setAdditionalInformation($this->getAdditionalInfo($transactionModel)); $transactionBuilder->setCreatedAt($transactionModel->getCreatedAt()); $transactionBuilder->setMethod($transactionModel->getMethod()); $transactionBuilder->setIncrementId($this->getIncrementId($transactionModel)); $transactionBuilder->setChildTransactions($lazy ? [] : $this->getChildTransactions($transactionModel)); return $transactionBuilder->create(); }
/** * 2016-08-19 * @see df_trans_by_payment() * @param T $t * @return OP */ function dfp_by_trans(T $t) { return dfp_get($t->getPaymentId()); }