public function EnviaGateway(Varien_Object $payment, $xml) { /* * Faz o envio do XML para o gateway de pagamento. */ $status = ""; $orderId = $payment->getParentId(); $url = 'https://www.akatus.com/api/v1/carrinho.xml'; #$url = 'https://dev.akatus.com/api/v1/carrinho.xml'; $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, $url); #curl_setopt($curl, CURLOPT_HTTPHEADER, $header); # curl_setopt($curl, CURLOPT_USERPWD, $user . ":" . $passwd); curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($curl, CURLOPT_USERAGENT, "Mozilla/4.0"); curl_setopt($curl, CURLOPT_POST, true); curl_setopt($curl, CURLOPT_POSTFIELDS, $xml); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); $ret = curl_exec($curl); $err = curl_error($curl); curl_close($curl); $data = $this->xml2array($ret); #Criado para facilitar o ambiente de depuração. if ($this->getConfigData('module_debug') == '1') { Mage::throwException("XML RECEBIDO:\n\n" . $ret . "\n\n\nXML Enviado:\n" . $xml); } Mage::Log("..:: ENVIADO ::..\n\n" . $xml . "\n\n ..:: RECEBIDO ::..\n\n" . $ret); /* print_r($ret); print_r($data); */ //echo "<br />Status:".$data["resposta"]["status"]["value"]; $info = $this->getInfoInstance(); $formapagamento = $info->getCheckFormapagamento(); //print_r($formadepagamento); //exit(); if ($data["resposta"]["status"]["value"] == "erro") { #exibe a mensagem de erro Mage::Log('Deu erro meu velho: ' . $data["resposta"]["descricao"]["value"]); Mage::throwException("Não foi possível realizar sua transação"); #exibe a mensagem de erro #Mage::getSingleton('checkout/session')->addError(Mage::helper('checkout')->__("Não foi possivel realizar sua transação")); } else { //echo "Não deu erro, retornou algum outro status"; if ($data["resposta"]["status"]["value"] == "Em Análise") { //echo "Em análise"; //exit; //Salva no sistema o ID da transação Mage::Log('Veio Em Análise, passou o cartão, é setar o status e partir pro abraço.'); try { $transacaoId = $data["resposta"]["transacao"]["value"]; $this->SalvaIdTransacao($orderId, $transacaoId); $order = Mage::getModel('sales/order')->load($orderId); $order->setStatus('pending_payment'); $order->save(); $info = $this->getInfoInstance(); $formadepagamento = $info->getCheckFormapagamento(); //Mage::throwException($formadepagamento); //Mage::throwException("Seu pedido foi realizado com sucesso. Estamos aguardando a confirmação de sua administradora e assim que o pagamento for liberado enviaremos o produto"); $msg = "Seu pedido foi realizado com sucesso. Estamos aguardando a confirmação de sua administradora e assim que o pagamento for liberado enviaremos o produto"; Mage::getSingleton('checkout/session')->addSuccess(Mage::helper('checkout')->__($msg)); } catch (Exception $e) { $e->getMessage(); } } elseif ($data["resposta"]["status"]["value"] == "Aguardando Pagamento" || $data["resposta"]["status"]["value"] == "Processando") { $info = $this->getInfoInstance(); $formapagamento = $info->getCheckFormapagamento(); //ge::throwException($formadepagamento); //$url_destino='https://www.akatus.com/boleto/'; if ($formapagamento == "boleto") { #$url_destino='https://dev.akatus.com/boleto/'; $url_destino = 'https://www.akatus.com/boleto/'; $str = $data['resposta']['transacao']['value']; $url_destino .= base64_encode($str) . '.html'; $payment->setCheckBoletourl($url_destino); $payment->save(); $transacaoId = $data["resposta"]["transacao"]["value"]; $this->SalvaIdTransacao($orderId, $transacaoId); #monta a mensagem #$msg="<img src = $msg = 'Transação realizada com sucesso. Clique na url abaixo para imprimir seu boleto.<br/>'; $msg .= "<a href='" . $url_destino . "' target='_blank'>" . $url_destino . "</a>"; Mage::getSingleton('checkout/session')->addSuccess(Mage::helper('checkout')->__($msg)); } if ($formapagamento == "tef") { #$url_destino='https://dev.akatus.com/tef/'; $url_destino = 'https://www.akatus.com/tef/'; $str = $data['resposta']['transacao']['value']; $url_destino .= base64_encode($str) . '.html'; $transacaoId = $data["resposta"]["transacao"]["value"]; $this->SalvaIdTransacao($orderId, $transacaoId); #monta a mensagem $msg = 'Transação realizada com sucesso. Clique na url abaixo e você será redirecionado para seu banco.<br/>'; $msg .= "<a href='" . $url_destino . "' target='_blank'>" . $url_destino . "</a>"; Mage::getSingleton('checkout/session')->addSuccess(Mage::helper('checkout')->__($msg)); } } else { // $info = $this->getInfoInstance(); // $formapagamento=$info->getCheckFormapagamento(); Mage::throwException("Pagamento não autorizado. Consulte sua operadora para maiores informações."); //$msq = "Pagamento não autorizado. Consulte sua operadora para maiores informações."; //Mage::throwException("Cartão Recusado:".$data["resposta"]["status"]["value"]."<br />Forma de pagamento:".$formadepagamento); } } }