static function httpRequest($req, $hash_config = NULL) { $config = Obj2xml::getConfig($hash_config); if ((int) $config['print_xml']) { echo $req; } $ch = curl_init(); curl_setopt($ch, CURLOPT_PROXY, $config['proxy']); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-type: text/xml')); curl_setopt($ch, CURLOPT_URL, $config['url']); curl_setopt($ch, CURLOPT_POSTFIELDS, $req); curl_setopt($ch, CURLOPT_HTTPPROXYTUNNEL, true); curl_setopt($ch, CURLOPT_TIMEOUT, $config['timeout']); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_SSLVERSION, 6); Mage::log("vantiv tracking - ch: " . print_r($ch, true), null, "litle_transaction.log"); if (Mage::getStoreConfig('payment/CreditCard/debug_enable')) { $xmlToPrint = Communication::cleanseAccountNumber($req); $xmlToPrint = Communication::cleanseCardValidationNum($xmlToPrint); $xmlToPrint = Communication::cleansePassword($xmlToPrint); Mage::log($xmlToPrint, null, "litle_transaction.log"); } $output = curl_exec($ch); Mage::log("vantiv tracking - output: " . print_r($output, true), null, "litle_transaction.log"); if (Mage::getStoreConfig('payment/CreditCard/debug_enable')) { $xmlToPrint = Communication::cleanseAccountNumber($output); Mage::log($xmlToPrint, null, "litle_transaction.log"); } $responseCode = curl_getinfo($ch, CURLINFO_HTTP_CODE); if (!$output) { throw new Exception(curl_error($ch)); } else { curl_close($ch); return $output; } }
/** * @dataProvider providerAccountNumbers */ public function testCleanseAccountNumber($input, $expected) { $this->assertEquals($expected, Communication::cleanseAccountNumber($input)); }