Curl da Cielo não funciona em outro Servidor Internacional
Olá pessoal alguém teve problema com a Cielo CURL com servidor fora, eu estava no Brasil e migrei para Canadá.
Fiz um FullBackup Cpanel para Cpanel e reistalei o SSL da Godaddy. TUDO OK.. :-)
Estranho quando eu coloco qualquer dominio local (Brasileiro) funciona de primeira, testei em 2 servidores BR e 4 USA e 1 no Canadá não funciona... Mensagem Redirecionando...
Mandei mensagem para Cielo o log.log e XML.log e sempre mete a culpa no servidor canadense.
As configurações do Curl no meu php.ini
CURL
cURL support enabled / cURL Information 7.38.0 / Age 3 / Features AsynchDNS No / CharConv No / Debug No / GSS-Negotiate No / IDN Yes / IPv6 Yes / krb4 No / Largefile Yes / libz Yes / NTLM Yes / NTLMWB Yes / SPNEGO No / SSL Yes / SSPI No / TLS-SRP No / Protocols dict / file, ftp, ftps, gopher, http, https, imap, imaps, pop3, pop3s, rtsp, smtp, smtps, telnet, tftp / Host x86_64-unknown-linux-gnu
SSL Version
OpenSSL/1.0.0 ZLib Version 1.2.3 / openssl OpenSSL support enabled / OpenSSL Library Version OpenSSL 1.0.1e-fips 11 Feb 2013 OpenSSL Header Version OpenSSL 1.0.1e-fips 11 Feb 2013
**ERRO
**********************************************************
2 WARNING - 2015-11-23 18:12:36 (BRST)
ARQUIVO: /home/controle/public_html/cielo/includes/include.php(Linha 69)
MENSAGEM:
curl_error(): 8 is not a valid cURL handle resource**
XML.log
<?xml version="1.0" encoding="ISO-8859-1" ?>
<requisicao-tid id="xxxxxxxx" versao ="1.1.0">
<dados-ec>
<numero>xxxxxxxxxxx</numero>
<chave>xxxxxxxxxxxxx</chave>
</dados-ec>
<forma-pagamento>
<bandeira>visa</bandeira>
<produto>1</produto>
<parcelas>1</parcelas>
</forma-pagamento>
</requisicao-tid>
*******DETALHE ESTOU TESTANDO NO MODO PRODUÇÃO, POIS AMBIENTE TESTE NÃO FUNCIONA
Script PHP ** include.php
define("ENDERECO_BASE", "https://ecommerce.cielo.com.br");
define("ENDERECO", ENDERECO_BASE."/servicos/ecommwsec.do");
define("LOJA", "XXXXXX"); // CODIGO DE ESTABELICIMENTO CIELO ENVIA
define("LOJA_CHAVE", "XXXXXXXXXXX");// CHAVE CIELO ENVIA
require 'errorHandling.php';
require_once 'pedido.php';
require_once 'logger.php';
define('VERSAO', "1.1.0");
// Envia requisição
function httprequest($paEndereco, $paPost){
$sessao_curl = curl_init();
curl_setopt($sessao_curl, CURLOPT_URL, $paEndereco);
curl_setopt($sessao_curl, CURLOPT_FAILONERROR, true);
// CURLOPT_SSL_VERIFYPEER
// verifica a validade do certificado
curl_setopt($sessao_curl, CURLOPT_SSL_VERIFYPEER, true);
// CURLOPPT_SSL_VERIFYHOST
// verifica se a identidade do servidor bate com aquela informada no certificado
curl_setopt($sessao_curl, CURLOPT_SSL_VERIFYHOST, 2);
// CURLOPT_SSL_CAINFO
// informa a localização do certificado para verificação com o peer
curl_setopt($sessao_curl, CURLOPT_CAINFO, getcwd() .
"/ssl/VeriSign.crt");
curl_setopt($sessao_curl, CURLOPT_SSLVERSION, 4);
// CURLOPT_CONNECTTIMEOUT
// o tempo em segundos de espera para obter uma conexão
curl_setopt($sessao_curl, CURLOPT_CONNECTTIMEOUT, 10);
// CURLOPT_TIMEOUT
// o tempo máximo em segundos de espera para a execução da requisição (curl_exec)
curl_setopt($sessao_curl, CURLOPT_TIMEOUT, 40);
// CURLOPT_RETURNTRANSFER
// TRUE para curl_exec retornar uma string de resultado em caso de sucesso, ao
// invés de imprimir o resultado na tela. Retorna FALSE se há problemas na requisição
curl_setopt($sessao_curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($sessao_curl, CURLOPT_POST, true);
curl_setopt($sessao_curl, CURLOPT_POSTFIELDS, $paPost );
$resultado = curl_exec($sessao_curl);
curl_close($sessao_curl);
if ($resultado)
{
return $resultado;
}
else
{
return curl_error($sessao_curl);
}
}
Estou quebrando a cabeça a dias pesquisando tentando uma solução, pois estamos sem pagamento com cartão.
Se achar algo posto aqui!!
Manual completo da Cielo e os arquivos lojateste em PHP esta aqui
http://www.cielo.com.br/portal/kit-e-commerce-cielo.html%20manual%202.0
Alguem poderia me ajuda?
Discussão (0)
Carregando comentários...