Ir para conteúdo

Arquivado

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

rafaeldorazio

Cielo + PHP

Recommended Posts

A hospedagem é na locaweb, o nome do certificado está alterado com o msmo nome na aplicação e na pasta ssl, a página tem ssl !

 

Está ocorrendo 2 erros ao enviar os dados para Cielo:

 

Warning: curl_error(): 18 is not a valid cURL handle resource
Warning: curl_error(): 19 is not a valid cURL handle resource

 

Alguem sabe porque está ocorrendo esses erros ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

include.php

// 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/parreiraschip.crt");
curl_setopt($sessao_curl, CURLOPT_SSLVERSION, 3);


//  CURLOPT_CONNECTTIMEOUT
//  o tempo em segundos de espera para obter uma conexão
curl_setopt($sessao_curl, CURLOPT_CONNECTTIMEOUT, 40);


//  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);
}
}
pagamento.php
<?php


if(isset($_POST["formaPagamento"])) {


if($_POST["formaPagamento"] == "B") {


$pedido_id    = $_GET["pedido_id"]; 


require_once("MySql/easyCRUD/FormaPagamento.class.php");
$formaPagamento = new FormaPagamento();
$formaPagamento->criar($pedido_id, NULL, $_POST["formaPagamento"], NULL, NULL, -1);


require_once("MySql/easyCRUD/Pedido.class.php");
$pedido = new Pedido(); 
$pedido->atualizar_status($pedido_id, -1);


echo "<script>window.location = 'http://www.parreiraschip.com/pedidos.php';</script>";




}
else {


require_once("MySql/easyCRUD/Pedido.class.php");


$pedido    = new Pedido();
$pedido_id    = $_GET["pedido_id"]; 
$valor_pedido = $pedido->valor_total_pedido($pedido_id);


$pagar = isset($_POST["pagar"]);
if($pagar) {


require_once("Cielo/includes/include.php"); 
$Pedido = new PedidoCielo();


if($_POST["codigoBandeira"] == "visaelectron")
$_POST["codigoBandeira"] = "visa";


else if($_POST["codigoBandeira"] == "maestro")
$_POST["codigoBandeira"] = "mastercard";


$tentarAutenticar = $_POST["tentarAutenticar"];
$Pedido->formaPagamentoBandeira = $_POST["codigoBandeira"];


if($_POST["formaPagamento"] != "A" && $_POST["formaPagamento"] != "1")
{
$Pedido->formaPagamentoProduto = $_POST["tipoParcelamento"];
$Pedido->formaPagamentoParcelas = $_POST["formaPagamento"];
} 
else 
{
if($_POST["formaPagamento"] == "A")
$tentarAutenticar = "sim";


$Pedido->formaPagamentoProduto = $_POST["formaPagamento"];
$Pedido->formaPagamentoParcelas = 1;
}


$Pedido->dadosEcNumero = LOJA;
$Pedido->dadosEcChave = LOJA_CHAVE;


$Pedido->capturar = $_POST["capturarAutomaticamente"]; 
//$Pedido->autorizar = $_POST["indicadorAutorizacao"];
$Pedido->autorizar = "2";


if($_POST["formaPagamento"] == "A")
$Pedido->autorizar = "2";




$Pedido->dadosPortadorNumero = $_POST["cartaoNumero"];
$Pedido->dadosPortadorVal = $_POST["anoCartaoValidade"] . $_POST["mesCartaoValidade"];


// Verifica se Código de Segurança foi informado e ajusta o indicador corretamente
if ($_POST["cartaoCodigoSeguranca"] == null || $_POST["cartaoCodigoSeguranca"] == "")
{
$Pedido->dadosPortadorInd = "0";
}
else if ($Pedido->formaPagamentoBandeira == "mastercard")
{
$Pedido->dadosPortadorInd = "1";
}
else 
{
$Pedido->dadosPortadorInd = "1";
}




$Pedido->dadosPortadorCodSeg = $_POST["cartaoCodigoSeguranca"];
$Pedido->dadosPortadorToken = null;
$Pedido->dadosPedidoSoftDescriptor = null;
$Pedido->gerarToken = "false";


$Pedido->dadosPedidoNumero = $_POST["pedido_id"]; 
$Pedido->dadosPedidoValor = $_POST["produto"];


$Pedido->urlRetorno = ReturnURL();


// ENVIA REQUISIÇÃO SITE CIELO
if($tentarAutenticar == "sim") // TRANSAÇÃO
{
$objResposta = $Pedido->RequisicaoTransacao(true);
}
else // AUTORIZAÇÃO DIRETA 
{
$objResposta = $Pedido->RequisicaoTid();


$Pedido->tid = $objResposta->tid;
$Pedido->pan = $objResposta->pan;
$Pedido->status = $objResposta->status;
$objResposta = $Pedido->RequisicaoAutorizacaoPortador();
}


$Pedido->tid = $objResposta->tid;
$Pedido->pan = $objResposta->pan;
$Pedido->status = $objResposta->status;


$urlAutenticacao = "url-autenticacao";
$Pedido->urlAutenticacao = $objResposta->$urlAutenticacao;


echo  "------>". $objResposta->pan ."<-------";
// Serializa Pedido e guarda na SESSION
$StrPedido = $Pedido->ToString();
$_SESSION["pedidos"]->append($StrPedido);


if($tentarAutenticar == "sim") // TRANSAÇÃO
{
echo '<script type="text/javascript">
window.location.href = "' . $Pedido->urlAutenticacao . '"
</script>';
}
else // AUTORIZAÇÃO DIRETA 
{
echo '<script type="text/javascript">
window.location.href = "http://www.parreiraschip.com/retornoPagamento.php"
</script>';
}


}


}


}
else
{
require_once("MySql/easyCRUD/Pedido.class.php");


$pedido    = new Pedido();
$pedido_id    = $_GET["pedido_id"]; 
$valor_pedido = $pedido->valor_total_pedido($pedido_id);
}


?>
erro na linha 71 -> return curl_error($sessao_curl);

Compartilhar este post


Link para o post
Compartilhar em outros sites
Warning: simplexml_load_string() [function.simplexml-load-string]: Entity: line 1: parser error : Start tag expected, '<' not found in /home/storage/b/c4/b1/parreiraschip/public_html/Cielo/includes/pedido.php on line 223


Warning: simplexml_load_string() [function.simplexml-load-string]: error setting certificate verify locations: in /home/storage/b/c4/b1/parreiraschip/public_html/Cielo/includes/pedido.php on line 223


Warning: simplexml_load_string() [function.simplexml-load-string]: ^ in /home/storage/b/c4/b1/parreiraschip/public_html/Cielo/includes/pedido.php on line 223


Warning: simplexml_load_string() [function.simplexml-load-string]: Entity: line 1: parser error : Start tag expected, '<' not found in /home/storage/b/c4/b1/parreiraschip/public_html/Cielo/includes/pedido.php on line 223


Warning: simplexml_load_string() [function.simplexml-load-string]: error setting certificate verify locations: in /home/storage/b/c4/b1/parreiraschip/public_html/Cielo/includes/pedido.php on line 223


Warning: simplexml_load_string() [function.simplexml-load-string]: ^ in /home/storage/b/c4/b1/parreiraschip/public_html/Cielo/includes/pedido.php on line 223

A linha 223 é return simplexml_load_string($vmResposta);

public function Enviar($vmPost, $transacao)
{
//$this->logger->logWrite("ENVIO: " . $vmPost, $transacao);


// ENVIA REQUISIÇÃO SITE CIELO
$vmResposta = httprequest(ENDERECO, "mensagem=" . $vmPost);
//$this->logger->logWrite("RESPOSTA: " . $vmResposta, $transacao);


//VerificaErro($vmPost, $vmResposta);


return simplexml_load_string($vmResposta);
}

descobri o erro. Na resposta ao enviar a cielo me enviou a seguinte mensagem:

 

error setting certificate verify locations: CAfile: /home/storage/b/c4/b1/parreiraschip/public_html/ssl/VeriSignClass3PublicPrimaryCertificationAuthority-G5.crt CApath: none 1057990547

 

Mas o caminho está correto !


Acou sendo problema com o nome da extensão, estava em minusculo e era em maiúsculo e as credenciais.

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.