/** * * @param Varien_Object $payment * @param DOMDocument $litleResponse * @throws Mage_Payment_Model_Info_Exception * @return boolean */ public function processResponse(Varien_Object $payment, $litleResponse) { $this->accountUpdater($payment, $litleResponse); $message = XmlParser::getAttribute($litleResponse, 'litleOnlineResponse', 'message'); if ($message == 'Valid Format') { $isSale = $payment->getCcTransId() != null ? false : true; if (isset($litleResponse)) { $litleResponseCode = XMLParser::getNode($litleResponse, 'response'); if ($litleResponseCode != '000') { if ($isSale) { if (Mage::getStoreConfig('payment/CreditCard/debug_enable')) { Mage::log("Had an unsuccessful response in an authorization/sale - response code: " . $litleResponseCode, null, "litle.log"); } $customerId = $payment->getOrder()->getCustomerId(); $orderId = $payment->getOrder()->getId(); Mage::helper('creditcard')->writeFailedTransactionToDatabase($customerId, null, $message, $litleResponse, null); //null order id because the order hasn't been created yet Mage::throwException("The order was not approved. Please try again later or contact us. For your reference, the transaction id is " . XMLParser::getNode($litleResponse, 'litleTxnId')); } else { $this->handleResponseForNonSuccessfulBackendTransactions($payment, $litleResponse, $litleResponseCode); } } else { $payment->setStatus('Approved')->setCcTransId(XMLParser::getNode($litleResponse, 'litleTxnId'))->setLastTransId(XMLParser::getNode($litleResponse, 'litleTxnId'))->setTransactionId(XMLParser::getNode($litleResponse, 'litleTxnId'))->setIsTransactionClosed(0)->setTransactionAdditionalInfo('additional_information', XMLParser::getNode($litleResponse, 'message')); } return true; } } else { Mage::throwException($message); } }
public function processResponse(Varien_Object $payment, $litleResponse) { $message = XmlParser::getAttribute($litleResponse, 'litleOnlineResponse', 'message'); if ($message == "Valid Format") { if (isset($litleResponse)) { $litleResponseCode = XMLParser::getNode($litleResponse, 'response'); if ($litleResponseCode != "000") { if ($litleResponseCode === "362" && Mage::helper("creditcard")->isStateOfOrderEqualTo($payment->getOrder(), Mage_Sales_Model_Order_Payment_Transaction::TYPE_CAPTURE)) { Mage::throwException("The void did not go through. Do a refund instead."); } else { $payment->setStatus("Rejected")->setCcTransId(XMLParser::getNode($litleResponse, 'litleTxnId'))->setLastTransId(XMLParser::getNode($litleResponse, 'litleTxnId'))->setTransactionId(XMLParser::getNode($litleResponse, 'litleTxnId'))->setIsTransactionClosed(0)->setTransactionAdditionalInfo("additional_information", XMLParser::getNode($litleResponse, 'message')); throw new Mage_Payment_Model_Info_Exception(Mage::helper('core')->__("Transaction was not approved. Contact us or try again later.")); } } else { $payment->setStatus("Approved")->setCcTransId(XMLParser::getNode($litleResponse, 'litleTxnId'))->setLastTransId(XMLParser::getNode($litleResponse, 'litleTxnId'))->setTransactionId(XMLParser::getNode($litleResponse, 'litleTxnId'))->setIsTransactionClosed(0)->setTransactionAdditionalInfo("additional_information", XMLParser::getNode($litleResponse, 'message')); } return $this; } } else { Mage::throwException($message); } }
/** * void method * * @returns message, voidMessage, Response and litleTxnId to database */ public function void($id = null) { $this->Auth->id = $id; if (!$this->Auth->exists()) { throw new NotFoundException(__('Invalid auth')); } if ($this->request->is('post') || $this->request->is('put')) { $hash_in = array('litleTxnId' => $this->Auth->field('litleTxnId')); $initilaize =& new LitleOnlineRequest(); @($voidResponse = $initilaize->voidRequest($hash_in)); $voidMessage = XmlParser::getNode($voidResponse, 'message'); $voidLitleTxnId = XmlParser::getNode($voidResponse, 'litleTxnId'); $message = XmlParser::getAttribute($voidResponse, 'litleOnlineResponse', 'message'); $response = XmlParser::getNode($voidResponse, 'response'); $this->request->data['Auth']['voidResponse'] = $response; $this->request->data['Auth']['message'] = NULL; $this->request->data['Auth']['litleTxnId'] = NULL; $this->request->data['Auth']['transactionStatus'] = NULL; $this->request->data['Auth']['message'] = $message; $this->request->data['Auth']['litleTxnId'] = $voidLitleTxnId; $this->request->data['Auth']['voidMessage'] = $voidMessage; $this->request->data['Auth']['transactionStatus'] = $voidMessage; $this->request->data['Auth']['voidLitleTxnId'] = $voidLitleTxnId; if ($this->Auth->save($this->request->data)) { $this->Session->setFlash(__($voidMessage)); $this->redirect(array('action' => 'index')); } else { $this->Session->setFlash(__('The auth could not be saved. Please, try again.')); } } else { $this->request->data = $this->Auth->read(null, $id); } }
<?php namespace litle\sdk; require_once realpath(__DIR__) . '/../../../vendor/autoload.php'; #Sale $sale_info = array('orderId' => '1', 'amount' => '10010', 'orderSource' => 'ecommerce', 'billToAddress' => array('name' => 'John Smith', 'addressLine1' => '1 Main St.', 'city' => 'Burlington', 'state' => 'MA', 'zip' => '01803-3747', 'country' => 'US'), 'card' => array('number' => '5112010000000003', 'expDate' => '0112', 'cardValidationNum' => '349', 'type' => 'MC')); $initilaize =& new LitleOnlineRequest(); $saleResponse = $initilaize->saleRequest($sale_info); #display results echo "Response: " . XmlParser::getNode($saleResponse, 'response') . "<br>"; echo "Message: " . XmlParser::getNode($saleResponse, 'message') . "<br>"; echo "Litle Transaction ID: " . XmlParser::getNode($saleResponse, 'litleTxnId'); echo "All Response :" . XmlParser::getAttribute($saleResponse, 'litleOnlineResponse', 'version');