/** * Get transaction refunded amount * * @param \XLite\Model\Payment\Transaction $transaction Callback-owner transaction * @param array $data Data * * @return void */ protected function getRefundedAmount(\XLite\Model\Payment\Transaction $transaction, array $data) { $amount = 0; $types = array(\XLite\Model\Payment\BackendTransaction::TRAN_TYPE_REFUND, \XLite\Model\Payment\BackendTransaction::TRAN_TYPE_REFUND_PART); if (in_array($data['status'], array(static::STATUS_REFUND, static::STATUS_REFUND_PART))) { foreach ($transaction->getBackendTransactions() as $bt) { if ($bt->isCompleted() && in_array($bt->getType(), $types)) { $amount += $bt->getValue(); } } $amount = $data['refundedAmount'] - $amount; } return $amount; }
/** * {@inheritDoc} */ public function getBackendTransactions() { $this->__initializer__ && $this->__initializer__->__invoke($this, 'getBackendTransactions', array()); return parent::getBackendTransactions(); }