Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

mruoppolo

Problemas com cURL da Cielo

Recommended Posts

Olá, tudo bem?

Eu já fiz diversas integrações com o webservice da cielo, sempre utilizei o mesmo código, porém agora do nada não esta mais funcionando, o código é o seguinte:

$string = <<<xml <?xml="" version="1.0" encoding="ISO-8859-1" ?="">
<requisicao-transacao id="$id" versao="1.1.1">
    <dados-ec>
          <numero>1006993069</numero>
          <chave>25fbb99741c739dd84d7b06ec78c9bac718838630f30b112d033ce2e621b34f3</chave>
    </dados-ec>
    <dados-portador>
        <numero>4012001038443335</numero>
        <validade>201805</validade>
        <indicador>0</indicador>
        <codigo-seguranca>123</codigo-seguranca>
        <nome-portador><!--[CDATA[Marcello Ruoppolo]]--></nome-portador>
    </dados-portador>
    <dados-pedido>
    <numero>190</numero>
    <valor>2200</valor>
    <moeda>986</moeda>
    <data-hora>$agora</data-hora>
    <descricao><!--[CDATA[{Exemplo www.profissionaisdaweb.com.br]]--></descricao>
    <idioma>PT</idioma>
    </dados-pedido>
    <forma-pagamento>
        <bandeira>visa</bandeira>
        <produto>1</produto>
        <parcelas>1</parcelas>
    </forma-pagamento>
    <autorizar>3</autorizar>
    <capturar>true</capturar>
</requisicao-transacao>
XML;


    $url = 'https://qasecommerce.cielo.com.br/servicos/ecommwsec.do';


      
    $ch = curl_init();
    flush();
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_POSTFIELDS,  'mensagem=' . $string);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_SSLVERSION, 4);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($ch, CURLOPT_FAILONERROR, true);
    curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10);
    curl_setopt($ch, CURLOPT_TIMEOUT, 40);
    $string = curl_exec($ch);
    curl_close($ch);
    $xml = simplexml_load_string($string);
    
    if ($xml->tid){
        echo 'TID da transação: '.$xml->tid.'<br>';
        if($xml->captura->codigo == '6' AND $xml->autorizacao->codigo == '6'){
            echo 'Transação autorizada pela operadora do cartão!';
        }else{
            echo 'Transação não autorizada: '.$xml->autorizacao->mensagem.'.';
        }       
    }else{
        echo 'Transação não autorizada: '.$xml->mensagem;
    }
?></xml>

Ele simplesmente me retorna uma página em branco, eu ja verifiquei diversas opções pela internet, mas não encontrei nada capaz de resolver este problema, você tem alguma ideia?

Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

"Ele simplesmente me retorna uma página em branco, "

A extensão curl está ativa na hospedagem?

Habilite os erros:

ini_set('display_errors', true);
error_reporting(E_ALL);

Normalmente a pagina branca significa um erro 500 caso esteja em produção (supressão de erros).

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.