示例#1
0
 /**
  * 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);
         }
     }
 }
示例#2
0
 /**
  * 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);
     }
 }
示例#3
0
 /**
  * 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);
     }
 }
示例#4
0
文件: APaypal.php 项目: kingsj/core
 /**
  * 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);
     }
 }