Example #1
0
 /**
  * Set capture transaction ID to invoice for informational purposes
  * @param Mage_Sales_Model_Order_Invoice $invoice
  * @param Mage_Sales_Model_Order_Payment $payment
  * @return Mage_Payment_Model_Method_Abstract
  */
 public function processInvoice($invoice, $payment)
 {
     $invoice->setTransactionId($payment->getLastTransId());
     return $this;
 }
Example #2
0
 /**
  * Call Cancel API, the transaction must be Authorized beforehand
  *
  * @param Mage_Sales_Model_Order_Payment $payment
  * @return Eway_Rapid31_Model_Request_Direct
  */
 public function doCancel(Mage_Sales_Model_Order_Payment $payment)
 {
     // Empty Varien_Object's data
     $this->unsetData();
     $transactionId = $payment->getLastTransId();
     $this->setTransactionId($transactionId);
     $response = $this->_doRapidAPI('CancelAuthorisation');
     if ($response->isSuccess()) {
         $payment->setTransactionId($response->getTransactionID());
         $payment->setIsTransactionClosed(1);
         return $this;
     } else {
         Mage::throwException(Mage::helper('ewayrapid')->__('An error occurred while doing the cancel. Please try again. (Error message: %s)', $response->getMessage()));
     }
 }
Example #3
0
 /**
  * Set transaction ID into creditmemo for informational purposes
  * @param Mage_Sales_Model_Order_Creditmemo $creditmemo
  * @param Mage_Sales_Model_Order_Payment $payment
  * @return Mage_Payment_Model_Method_Abstract
  */
 public function processCreditmemo($creditmemo, $payment)
 {
     $creditmemo->setTransactionId($payment->getLastTransId());
     return $this;
 }
Example #4
0
 /**
  * Set capture transaction ID and enable Void to invoice for informational purposes
  * @param Mage_Sales_Model_Order_Invoice $invoice
  * @param Mage_Sales_Model_Order_Payment $payment
  * @return Mage_Payment_Model_Method_Abstract
  */
 public function processInvoice($invoice, $payment)
 {
     if ($payment->getLastTransId()) {
         $invoice->setTransactionId($payment->getLastTransId());
         $invoice->setCanVoidFlag(true);
         if (Mage::helper('sales')->canSendNewInvoiceEmail($payment->getOrder()->getStoreId())) {
             $invoice->setEmailSent(true);
             $invoice->sendEmail();
         }
         return $this;
     }
     return false;
 }
Example #5
0
 protected function _isPreauthCapture(Mage_Sales_Model_Order_Payment $payment)
 {
     return (bool) $payment->getLastTransId();
 }
 /**
  *
  * @param Mage_Sales_Model_Order_Payment $payment
  * @param float $amount
  */
 protected function _preauthorizeCapture($payment, $amount)
 {
     $transactionId = $payment->getLastTransId();
     $gatewayParams = array('operation' => 'capture', 'amount' => $amount);
     $this->_debug($gatewayParams);
     /* @var $request Allopass_Hipay_Model_Api_Request */
     $request = Mage::getModel('hipay/api_request', array($this));
     $uri = Allopass_Hipay_Model_Api_Request::GATEWAY_ACTION_MAINTENANCE . $transactionId;
     $gatewayResponse = $request->gatewayRequest($uri, $gatewayParams, $payment->getOrder()->getStoreId());
     $this->_debug($gatewayResponse->debug());
     switch ($gatewayResponse->getStatus()) {
         case "116":
             $this->addTransaction($payment, $gatewayResponse->getTransactionReference(), Mage_Sales_Model_Order_Payment_Transaction::TYPE_AUTH, array('is_transaction_closed' => 0), array(), Mage::helper('hipay')->getTransactionMessage($payment, self::OPERATION_MAINTENANCE_ACCEPT_CHALLENGE, $gatewayResponse->getTransactionReference(), $amount));
             $payment->setIsTransactionPending(true);
             break;
         case "117":
             //Capture requested
         //Capture requested
         case "118":
             //Capture
         //Capture
         case "119":
             //Partially Capture
             $this->addTransaction($payment, $gatewayResponse->getTransactionReference(), Mage_Sales_Model_Order_Payment_Transaction::TYPE_CAPTURE, array('is_transaction_closed' => 0), array(), Mage::helper('hipay')->getTransactionMessage($payment, self::OPERATION_MAINTENANCE_CAPTURE, $gatewayResponse->getTransactionReference(), $amount));
             $payment->setIsTransactionPending(true);
             break;
         default:
             Mage::throwException($gatewayResponse->getStatus() . " ==> " . $gatewayResponse->getMessage() . " is not processed!");
             break;
     }
     return $this;
 }
 /**
  * @param Mage_Sales_Model_Order_Payment $payment
  * @return Payone_Core_Model_Domain_Transaction
  */
 public function loadByPayment(Mage_Sales_Model_Order_Payment $payment)
 {
     $this->load($payment->getLastTransId(), 'txid');
     return $this;
 }
Example #8
0
 /**
  * @param Mage_Sales_Model_Order_Payment $payment
  * @param float $amount
  * @return array|false
  */
 protected function callDoRefund($payment, $amount)
 {
     // Build the XML request
     $xml = new SimpleXMLElement('<ewaygateway></ewaygateway>');
     $xml->addChild('ewayCustomerID', $this->getCustomerId());
     $xml->addChild('ewayTotalAmount', $this->getFormattedAmount($amount));
     $xml->addChild('ewayCardExpiryMonth', $payment->getCcExpMonth());
     $xml->addChild('ewayCardExpiryYear', substr($payment->getCcExpYear(), 2, 2));
     $xml->addChild('ewayOriginalTrxnNumber', $this->getOriginalTransactionId($payment->getLastTransId()));
     $xml->addChild('ewayRefundPassword', $this->getRefundPassword());
     $xml->addChild('ewayOption1', '');
     $xml->addChild('ewayOption2', '');
     $url = $this->getApiRefundUrl();
     // Convert to string before sending to the gateway
     return $this->call($xml->asXML(), $url);
 }