Example #1
0
 /**
  * void
  *
  * @access public
  * @param string $payment Varien_Object object
  * @return Mage_Payment_Model_Abstract
  */
 public function void(Varien_Object $payment)
 {
     $error = false;
     if ($payment->getVoidTransactionId()) {
         $api = $this->getApi();
         $api->setAuthorizationId($payment->getVoidTransactionId());
         if ($api->callDoVoid() !== false) {
             $payment->setStatus('SUCCESS')->setCcTransId($api->getTransactionId());
         } else {
             $e = $api->getError();
             $error = $e['short_message'] . ': ' . $e['long_message'];
         }
     } else {
         $payment->setStatus('ERROR');
         $error = AO::helper('paypal')->__('Invalid transaction id');
     }
     if ($error !== false) {
         AO::throwException($error);
     }
     return $this;
 }
Example #2
0
 /**
  * Void the payment transaction
  *
  * @param Mage_Sale_Model_Order_Payment $payment
  * @return Mage_Cybersource_Model_Soap
  */
 public function void(Varien_Object $payment)
 {
     $error = false;
     if ($payment->getVoidTransactionId() && $payment->getVoidCybersourceToken()) {
         $soapClient = $this->getSoapApi();
         $this->iniRequest();
         $voidService = new stdClass();
         $voidService->run = "true";
         $voidService->voidRequestToken = $payment->getVoidCybersourceToken();
         $voidService->voidRequestID = $payment->getVoidTransactionId();
         $this->_request->voidService = $voidService;
         try {
             $result = $soapClient->runTransaction($this->_request);
             if ($result->reasonCode == self::RESPONSE_CODE_SUCCESS) {
                 $payment->setLastTransId($result->requestID)->setCcTransId($result->requestID)->setCybersourceToken($result->requestToken);
             } else {
                 $error = Mage::helper('cybersource')->__('There is an error in processing payment. Please try again or contact us.');
             }
         } catch (Exception $e) {
             Mage::throwException(Mage::helper('cybersource')->__('Gateway request error: %s', $e->getMessage()));
         }
     } else {
         $error = Mage::helper('cybersource')->__('Invalid transaction id or token');
     }
     if ($error !== false) {
         Mage::throwException($error);
     }
     return $this;
 }
Example #3
0
 /**
  * void
  *
  * @author      Magento Core Team <*****@*****.**>
  * @access public
  * @param string $payment Varien_Object object
  * @return Mage_Payment_Model_Abstract
  */
 public function void(Varien_Object $payment)
 {
     $error = false;
     if ($payment->getVoidTransactionId()) {
         $payment->setAnetTransType(self::REQUEST_TYPE_VOID);
         $request = $this->_buildRequest($payment);
         $request->setXTransId($payment->getVoidTransactionId());
         $result = $this->_postRequest($request);
         if ($result->getResponseCode() == self::RESPONSE_CODE_APPROVED) {
             $payment->setStatus(self::STATUS_SUCCESS);
         } else {
             $payment->setStatus(self::STATUS_ERROR);
             $error = $result->getResponseReasonText();
         }
     } else {
         $payment->setStatus(self::STATUS_ERROR);
         $error = AO::helper('paygate')->__('Invalid transaction id');
     }
     if ($error !== false) {
         AO::throwException($error);
     }
     return $this;
 }
Example #4
0
 public function void(Varien_Object $payment)
 {
     $error = false;
     if ($payment->getVoidTransactionId()) {
         $api = $this->getApi()->setTransactionId($payment->getVoidTransactionId())->setPayment($payment);
         if ($api->void() !== false) {
             $payment->setCcTransId($api->getTransactionId());
             $payment->setStatus(self::STATUS_VOID);
         } else {
             $e = $api->getError();
             $error = $e['message'];
         }
     } else {
         $error = Mage::helper('paypalUk')->__('Invalid transaction id');
     }
     if ($error !== false) {
         Mage::throwException($error);
     }
     return $this;
 }
Example #5
0
 /**
  * void
  *
  * @access public
  * @param string $payment Varien_Object object
  * @return Mage_Payment_Model_Abstract
  */
 public function void(Varien_Object $payment)
 {
     $error = false;
     if ($payment->getVoidTransactionId()) {
         $payment->setTrxtype(self::TRXTYPE_DELAYED_VOID);
         $payment->setTransactionId($payment->getVoidTransactionId());
         $request = $this->_buildBasicRequest($payment);
         $result = $this->_postRequest($request);
         if ($this->getConfigData('debug')) {
             $payment->setCcDebugRequestBody($result->getRequestBody())->setCcDebugResponseSerialized(serialize($result));
         }
         if ($result->getResultCode() == self::RESPONSE_CODE_APPROVED) {
             $payment->setStatus(self::STATUS_SUCCESS);
             $payment->setCcTransId($result->getPnref());
         } else {
             $payment->setStatus(self::STATUS_ERROR);
             $error = $result->getRespmsg();
         }
     } else {
         $payment->setStatus(self::STATUS_ERROR);
         $error = Mage::helper('paygate')->__('Invalid transaction id');
     }
     if ($error !== false) {
         Mage::throwException($error);
     }
     return $this;
 }