/** * Verify data required for saving * * @return $this */ public function beforeSave() { // set parent id $this->_verifyPaymentObject(); if (!$this->getId()) { // We need to set order and payment ids only for new transactions if (null !== $this->_paymentObject) { $this->setPaymentId($this->_paymentObject->getId()); } if (null !== $this->_order) { $this->setOrderId($this->_order->getId()); } $this->setCreatedAt($this->_dateFactory->create()->gmtDate()); } return parent::beforeSave(); }
/** * @param Payment $payment * @return $this */ public function addPayment(Payment $payment) { $payment->setOrder($this)->setParentId($this->getId()); if (!$payment->getId()) { $this->setPayments(array_merge($this->getPayments(), [$payment])); $this->setDataChanges(true); } return $this; }
/** * Return additional information`s transaction_id value of parent transaction model * * @param \Magento\Sales\Model\Order\Payment $payment * @return string */ protected function getRealParentTransactionId($payment) { $transaction = $this->transactionRepository->getByTransactionId($payment->getParentTransactionId(), $payment->getId(), $payment->getOrder()->getId()); return $transaction->getAdditionalInformation(self::REAL_TRANSACTION_ID_KEY); }
/** * @param Payment $payment * @return $this */ public function addPayment(Payment $payment) { $payment->setOrder($this)->setParentId($this->getId()); if (!$payment->getId()) { $this->getPaymentsCollection()->addItem($payment); $this->setDataChanges(true); } return $this; }
/** * {@inheritdoc} */ public function getId() { $pluginInfo = $this->pluginList->getNext($this->subjectType, 'getId'); if (!$pluginInfo) { return parent::getId(); } else { return $this->___callPlugins('getId', func_get_args(), $pluginInfo); } }