Ir para conteúdo

Arquivado

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

Carcleo

Implementação CIELO

Recommended Posts

Nao, não é não.

 

O problema do booleano era que a variavel

 

$Pedido->capturar = 'false';

 

estava assim:

 

$Pedido->capturar = false;

 

E ai não estava aceitando.

 

Mas isso ai resolveu.

 

Agora só esta restando o problema de que, mesmo enviando os dados do cartão ainda é redirecionado para uma pagina que solicita os dados do cartão.

Vê o que tem de errado:

 

<?php 

require "../includes/include.php";

$Pedido = new Pedido();
$tipoParcelamento=3; //Administradora
// Lê dados do $_POST
$Pedido->formaPagamentoBandeira = $_POST["codigoBandeira"]; 

$Pedido->formaPagamentoProduto = 3; // Administradora

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

$Pedido->dadosEcNumero = CIELO;
$Pedido->dadosEcChave = CIELO_CHAVE;

$Pedido->capturar = 'false';	
$Pedido->autorizar = 2;

$Pedido->dadosPedidoNumero = $_POST["NUMPEDIDO"]; 
$Pedido->dadosPedidoValor = str_replace(",", "",str_replace(",", "", $_POST["TOTAL"]));

$Pedido->urlRetorno = ReturnURL();

// ENVIA REQUISIÇÃO SITE CIELO
$objResposta = $Pedido->RequisicaoTransacao(false);

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

$urlAutenticacao = "url-autenticacao";
//$urlAutenticacao = "https://qasecommerce.cielo.com.br/servicos/ecommwsec.do";
$Pedido->urlAutenticacao = $objResposta->$urlAutenticacao;

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


echo '<script type="text/javascript">
		window.location.href = "' . $Pedido->urlAutenticacao . '"
	 </script>';

?>

include.php

<?php

require 'errorHandling.php';
require_once 'pedido.php';
require_once 'logger.php';

define('VERSAO', "1.1.0");

session_start();

if(!isset($_SESSION["pedidos"]))
{
$_SESSION["pedidos"] = new ArrayObject();
}

// CONSTANTES
define("ENDERECO_BASE", "https://qasecommerce.cielo.com.br");
define("ENDERECO", ENDERECO_BASE."/servicos/ecommwsec.do");

define("LOJA", "1006993069");
define("LOJA_CHAVE", "25fbb99741c739dd84d7b06ec78c9bac718838630f30b112d033ce2e621b34f3");
define("CIELO", "1001734898");
define("CIELO_CHAVE", "e84827130b9837473681c2787007da5914d6359947015a5cdb2b8843db0fa832");


// 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/VeriSignClass3PublicPrimaryCertificationAuthority-G5.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, 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);
}
}

// Monta URL de retorno
function ReturnURL()
{
$pageURL = 'http';

if ($_SERVER["SERVER_PORT"] == 443) // protocolo https
{
	$pageURL .= 's';
}
$pageURL .= "://";
if ($_SERVER["SERVER_PORT"] != "80")
{
	$pageURL .= $_SERVER["SERVER_NAME"].":".$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"];
} else {
	$pageURL .= $_SERVER["SERVER_NAME"]. substr($_SERVER["REQUEST_URI"], 0);
}
// ALTERNATIVA PARA SERVER_NAME -> HOST_HTTP

$file = substr($_SERVER["SCRIPT_NAME"],strrpos($_SERVER["SCRIPT_NAME"],"/")+1);

$ReturnURL = str_replace($file, "retorno_cartao.php", $pageURL);

return $ReturnURL;
}

?>

 

Ainda não consegui.

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.