private function getSoapSingleton() { if (self::$soapClient == null) { $headerXml = $this->getSoapHeaderXml(); $baseUrl = $this->getTransactionServer(); $soapWsdlUrl = $baseUrl . '/service/PayUAPI?wsdl'; $headerbody = new SoapVar($headerXml, XSD_ANYXML, null, null, null); $soapHeader = new SOAPHeader(self::NS, 'Security', $headerbody, true); $soap_client = new SoapClient($soapWsdlUrl, array('trace' => 1, 'exception' => 0)); $soap_client->__setSoapHeaders($soapHeader); self::$soapClient = $soap_client; return $soap_client; } return self::$soapClient; }
function _notify_url() { $db = JFactory::getDBO(); $par = JComponentHelper::getParams('com_djclassifieds'); $payment_id = JRequest::getInt('payId', '0'); $reference = JRequest::getVar('PayUReference', ''); /* API step 4 START */ $payu = new PayUAPI($this->params['soap_username'], $this->params['soap_password'], $this->params['test_mode'], $this->params['safe_key']); $paymentInfo = $payu->get_payment_info($reference); if ($paymentInfo == false) { die('Error ecountered while retrieving payment information'); } //echo '<pre>'; // var_dump($paymentInfo); // exit; //echo '</pre>'; $status = $paymentInfo['return']['transactionState']; $successful = $paymentInfo['return']['successful']; $message = $paymentInfo['return']['resultMessage']; if ($status == 'SUCCESSFUL' && $successful) { $query = "UPDATE #__djcf_payments SET status='Completed', transaction_id='" . $reference . "' " . "WHERE id=" . $payment_id . " AND method='" . $this->params['plugin_name'] . "'"; $db->setQuery($query); $db->query(); $this->_paymentSuccess(); } else { $query = "UPDATE #__djcf_payments SET status='Cancelled', transaction_id='" . $txn_id . "' " . "WHERE id=" . $payment_id . " AND method='" . $this->params['plugin_name'] . "'"; $db->setQuery($query); $db->query(); $this->_paymentError($message); } /* API step 4 END */ }