/** * Sending SOAP request to gateway * * @param array $txnDetails * @return void */ protected function _sendRequest($txnDetails) { if ($this->getConfigData('demo_mode')) { $url = self::WSDL_URL_DEMO; } else { $url = self::WSDL_URL_LIVE; } $client = new SoapClient($url); $parameters = array('username' => $this->getConfigData('username'), 'password' => $this->getConfigData('password'), 'txn_details' => $txnDetails); $debugData = array('request' => $parameters); try { $response = $client->ProcessPayment($parameters); $debugData['result'] = $response; $this->_debug($debugData); return (array) $response->ProcessPaymentResult; } catch (SoapFault $e) { $debugData['result'] = array('error' => $e->getMessage(), 'code' => $e->getCode()); $this->_debug($debugData); if (strpos($e->getMessage(), ' ---> ') !== FALSE) { list($title, $error) = explode(' ---> ', $e->getMessage()); } else { $error = $e->getMessage(); } Mage::throwException(Mage::helper('flo2cash')->__('Gateway returned an error message: %s', $error)); } }
/** * Sending SOAP request to gateway * * @param array $txnDetails * @return void */ protected function _sendRequest($txnDetails) { if ($this->getConfigData('demo_mode')) { $url = self::WSDL_URL_DEMO; } else { $url = self::WSDL_URL_LIVE; } $client = new SoapClient($url); $parameters = array('username' => $this->getConfigData('username'), 'password' => $this->getConfigData('password'), 'txn_details' => $txnDetails); try { $response = $client->ProcessPayment($parameters); if ($this->getConfigData('debug_flag')) { $debug = AO::getModel('flo2cash/api_debug')->setRequestBody(print_r($parameters, true))->setResponseBody(print_r($response, true))->save(); } return (array) $response->ProcessPaymentResult; } catch (SoapFault $e) { if ($this->getConfigData('debug_flag')) { $debug = AO::getModel('flo2cash/api_debug')->setRequestBody(print_r($parameters, true))->setException($e->getMessage())->save(); } if (strpos($e->getMessage(), ' ---> ') !== FALSE) { list($title, $error) = explode(' ---> ', $e->getMessage()); } else { $error = $e->getMessage(); } AO::throwException(AO::helper('flo2cash')->__('Gateway returned an error message: %s', $error)); } }