/** * Process return * * @param \XLite\Model\Payment\Transaction $transaction Return-owner transaction * * @return void */ public function processReturn(\XLite\Model\Payment\Transaction $transaction) { parent::processReturn($transaction); Paypal\Main::addLog('processReturn', \XLite\Core\Request::getInstance()->getData()); if (\XLite\Core\Request::getInstance()->cancel) { $this->setDetail('status', 'Customer has canceled checkout before completing their payments', 'Status'); $transaction->setNote('Customer has canceled checkout before completing their payments'); $transaction->setStatus($transaction::STATUS_CANCELED); } else { $request = \XLite\Core\Request::getInstance(); // https://developer.paypal.com/docs/classic/payflow/integration-guide/#secure-token-errors // https://developer.paypal.com/docs/classic/payflow/integration-guide/#result-values-and-respmsg-text if ($request->isPost() && isset($request->RESULT) && 0 !== (int) $request->RESULT && 160 !== (int) $request->RESULT) { // Paypal returned customer directly to cart with some result $this->setDetail('status', isset($request->RESPMSG) ? $request->RESPMSG : 'Unknown', 'Status'); $this->saveDataFromRequest(); if (126 === (int) $request->RESULT) { // This RESULT returned if merchant enabled fraud filters in thier PayPal account $status = $transaction::STATUS_PENDING; } else { $status = $transaction::STATUS_FAILED; } $transaction->setStatus($status); $this->updateInitialBackendTransaction($transaction, $status); } } }
/** * Process return * * @param \XLite\Model\Payment\Transaction $transaction Return-owner transaction * * @return void */ public function processReturn(\XLite\Model\Payment\Transaction $transaction) { parent::processReturn($transaction); if (\XLite\Core\Request::getInstance()->cancel) { $this->setDetail('status', 'Customer has canceled checkout before completing their payments', 'Status'); $this->transaction->setNote('Customer has canceled checkout before completing their payments'); $this->transaction->setStatus($transaction::STATUS_CANCELED); } elseif ($transaction::STATUS_INPROGRESS == $this->transaction->getStatus()) { $this->transaction->setStatus($transaction::STATUS_PENDING); } }
/** * Process return * * @param \XLite\Model\Payment\Transaction $transaction Return-owner transaction * * @return void */ public function processReturn(\XLite\Model\Payment\Transaction $transaction) { parent::processReturn($transaction); if (\XLite\Core\Request::getInstance()->cancel) { $this->setDetail('status', 'Payment transaction is cancelled', 'Status'); $this->transaction->setNote('Payment transaction is cancelled'); $this->transaction->setStatus($transaction::STATUS_FAILED); } elseif ($transaction::STATUS_INPROGRESS == $this->transaction->getStatus()) { $this->transaction->setStatus($transaction::STATUS_PENDING); } }
/** * Process return * * @param \XLite\Model\Payment\Transaction $transaction Return-owner transaction * * @return void */ public function processReturn(\XLite\Model\Payment\Transaction $transaction) { parent::processReturn($transaction); \XLite\Module\CDev\Paypal\Main::addLog('processReturn', \XLite\Core\Request::getInstance()->getData()); if (\XLite\Core\Request::getInstance()->cancel) { $this->setDetail('status', 'Payment transaction is cancelled', 'Status'); $this->transaction->setNote('Payment transaction is cancelled'); $this->transaction->setStatus($transaction::STATUS_FAILED); } }