Página 3 de 4

Re: Problemas com caracteres ao finalizar compra

Enviado: 10 Jan 2011, 20:45
por profbaco
Oi wpmidia tudo bem?
Bom, só por curiosidade, você sabia que você pode customizar a tela do PAGSEGURO de acordo com a sua loja? Para você não ficar batendo cabeça, por que vc não customiza a própria tela do PagSeguro pelo painel deles e deixa ela com a cara do seu site?
Bom, como eu disse, fica como sugestão. Se isto não servir para nos avise para vermos uma melhor solução.

Re: Problemas com caracteres ao finalizar compra

Enviado: 10 Jan 2011, 21:23
por wpmidia
Oi meu anjo!

O problema nao é o layout da tela do PagSeguro, não!
O problema é que quando finalizo a compra e pagamento, nao retorna pra loja... pra executar o arquivo "retorno.php", que eu configurei lá no painel do pagseguro como URL de retorno.

Só isso.

Beijinhos
Drika

Re: Problemas com caracteres ao finalizar compra

Enviado: 10 Jan 2011, 21:33
por profbaco
Milhões de desculpas meu anjo.
Mas veja só... vc pode postar o arquivo retorno.php para darmos uma olhada?
Você configurou no menu PREFERÊNICAS > RETORNO AUTOMÁTICO DE DADOS o link correto dos eu site e este link existe mesmo? Lembra que nesta página tem que contar o seu TOKEN do pag-seguro.
Lembre-se de verificar se os comando:

Comando=validar
Token=numero_seuToken

Estão sendo postados corretamente. Te aguardo

Re: Problemas com caracteres ao finalizar compra

Enviado: 11 Jan 2011, 10:35
por wpmidia
Bom dia!!

Segue o arquvivo retorno.php que veio junto com o módulo PagSeguro 2.3:

Código: Selecionar todos
<?
if(!isset($_POST['TransacaoID'])){
 header("Location: index.php?route=checkout/success");
		  }
		  
	function tep_not_null($value) {
	if (is_array($value)) {
	if (sizeof($value) > 0) {
	return true;
	} else {
	return false;
}

} else {

	if (($value != '') && ($value != 'NULL') && (strlen(trim($value)) > 0)) {
	return true;

} else {

	return false;

}}}

require_once("config.php");
$db = mysql_connect(DB_HOSTNAME,DB_USERNAME,DB_PASSWORD);
mysql_select_db(DB_DATABASE, $db);

	 $SQL = "SELECT `value` FROM `setting` WHERE `group` ='pagseguro' AND `key`='pagseguro_encryption'";
	 $Executa = mysql_query($SQL) or print(mysql_error());
	 $totalresultado = mysql_num_rows($Executa);
	 if($totalresultado!=0){
	 $resultaado = mysql_fetch_object($Executa);
	 $kkey = $resultaado->value;
 }
 else {
	$kkey="0000"; 
 }
$PagSeguro = 'Comando=validar';
$PagSeguro .= '&Token='.$kkey;
$Cabecalho = "";

foreach ($_POST as $key => $value)
{
 $value = urlencode(stripslashes($value));
 $PagSeguro .= "&$key=$value";
}

if (function_exists('curl_exec'))
{
 $curl = true;
}
elseif ( (PHP_VERSION >= 4.3) && ($fp = @fsockopen ('ssl://pagseguro.uol.com.br', 443, $errno, $errstr, 30)) )
{
 $fsocket = true;
}
elseif ($fp = @fsockopen('pagseguro.uol.com.br', 80, $errno, $errstr, 30))
{
 $fsocket = true;
}

if ($curl == true)
{
 $ch = curl_init();

 curl_setopt($ch, CURLOPT_URL, 'https://pagseguro.uol.com.br/pagseguro-ws/checkout/NPI.jhtml');
 curl_setopt($ch, CURLOPT_POST, true);
 curl_setopt($ch, CURLOPT_POSTFIELDS, $PagSeguro);
 curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
 curl_setopt($ch, CURLOPT_HEADER, false);
 curl_setopt($ch, CURLOPT_TIMEOUT, 60);
 curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);

 $resp = curl_exec($ch);
 if (!tep_not_null($resp))
 {
    curl_setopt($ch, CURLOPT_URL, 'https://pagseguro.uol.com.br/pagseguro-ws/checkout/NPI.jhtml');
    $resp = curl_exec($ch);
 }

 curl_close($ch);
 $confirma = (strcmp ($resp, "VERIFICADO") == 0);
}
elseif ($fsocket == true)
{
 $Cabecalho  = "POST /pagseguro-ws/checkout/NPI.jhtml HTTP/1.0\r\n";
 $Cabecalho .= "Content-Type: application/x-www-form-urlencoded\r\n";
 $Cabecalho .= "Content-Length: " . strlen($PagSeguro) . "\r\n\r\n";

 if ($fp || $errno>0)
 {
    fputs ($fp, $Cabecalho . $PagSeguro);
    $confirma = false;
    $resp = '';
    while (!feof($fp))
    {
       $res = @fgets ($fp, 1024);
       $resp .= $res;
       if (strcmp ($res, "VERIFICADO") == 0)
       {
          $confirma=true;
          break;
       }
    }
    fclose ($fp);
 }
 else
 {
    echo "$errstr ($errno)<br />\n";
 }
}


if ($confirma)
{
	$TransacaoID = $_POST['TransacaoID'];
	$VendedorEmail = $_POST['VendedorEmail'];
	$Referencia = $_POST['Referencia'];
	$ValorFrete = $_POST['ValorFrete'];
	$Anotacao = $_POST['Anotacao'];
	$TipoPagamento = $_POST['TipoPagamento'];
	$StatusTransacao = $_POST['StatusTransacao'];
	$CliNome = $_POST['CliNome'];
	$CliEmail = $_POST['CliEmail'];
	$CliEndereco = $_POST['CliEndereco'];
	$CliBairro = $_POST['CliBairro'];
	$CliCidade = $_POST['CliCidade'];
	$CliEstado = $_POST['CliEstado'];
	$CliCEP = $_POST['CliCEP'];
	$CliTelefone = $_POST['CliTelefone'];
	$NumItens = $_POST['NumItens'];
 
 $SQL = "SELECT TransacaoID FROM PagSeguroTransacoes WHERE TransacaoID ='$TransacaoID'";
 $Executa = mysql_query($SQL) or print(mysql_error());
 $totalresultado = mysql_num_rows($Executa);
 if($totalresultado!=0){
				
		$SQL = "UPDATE PagSeguroTransacoes SET  StatusTransacao='".$StatusTransacao."' WHERE TransacaoID='".$TransacaoID."'";	
		$Executa = mysql_query($SQL) or print(mysql_error());		
				
				}else {
$SQL = "INSERT INTO PagSeguroTransacoes (" .
		"TransacaoID, " .
		"VendedorEmail, ".	
		"Referencia, " .
		"ValorFrete, ".
		"Anotacao, ".
		"TipoPagamento, ".
        "StatusTransacao, " .
        "CliNome, " .
		"CliEmail, " .
		"CliEndereco, " .
		"CliBairro, " .
		"CliCidade, " .
		"CliEstado, " .
		"CliCEP, " .
		"CliTelefone, " .
        "NumItens" .
        ") VALUES (" .
        "" .
		"'" . $TransacaoID . "', " .
		"'" . $VendedorEmail . "', " .
		"'" . $Referencia . "', " .
		"'" . $ValorFrete . "', " .
        "'" . $Anotacao . "', " .
		"'" . $TipoPagamento . "', " . 
        "'" . $StatusTransacao . "', " .
        "'" . $CliNome . "', " .
		"'" . $CliEmail . "', " .
		"'" . $CliEndereco . "', " .
		"'" . $CliBairro . "', " .
		"'" . $CliCidade . "', " .
		"'" . $CliEstado . "', " .
		"'" . $CliCEP . "', " .
		"'" . $CliTelefone . "', " .
        "'" . $NumItens . "'" .
        ")";
 $Executa = mysql_query($SQL) or print(mysql_error());
				}
 
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, HTTP_SERVER.'index.php?route=payment/pagseguro/callback');
    curl_setopt($ch, CURLOPT_POST, true);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $PagSeguro);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, false);
    curl_setopt($ch, CURLOPT_HEADER, false);
    curl_setopt($ch, CURLOPT_TIMEOUT, 60);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);

    $resp = curl_exec($ch);
    curl_close($ch);
 
}
else
{
 if (strcmp ($res, "FALSO") == 0)
 {

 }
}

mysql_close($db);

?>
Está tudo configuradinho certo lá no PagSeguro. O arquivo retorno.php está na raiz da loja.

Beijokass e obrigada pela ajuda!

Drika

Re: Problemas com caracteres ao finalizar compra

Enviado: 11 Jan 2011, 12:48
por wpmidia
Olá meus amigos...

O problema do retorno automático foi resolvido.

Mas o problema com os caracteres continua... mesmo instalando a versão nova do módulo do PagSeguro.

Será que não tá faltando um utf8_encode ou utf8_decode, sei la...rsrsrs

Vou fazer uns testes e posto depois o resultado.

Beijokas
Drika

Re: Problemas com caracteres ao finalizar compra

Enviado: 11 Jan 2011, 13:26
por wpmidia
Olá de novo!

Problema com os caracteres resolvido!

Basta adicionar:
Código: Selecionar todos
<input type="hidden" name="encoding" value="utf-8" />
no formulário que faz o post dos dados para o carrinho do PagSeguro.

TEMPLATE > PAYMENT > pagseguro.tpl

A solução estava todo esse tempo na documentação do PagSeguro: https://pagseguro.uol.com.br/desenvolve ... tml#passo4

Seria interessante que o desenvolvedor do módulo fizesse essa inclusão para que outros usuários não passem pelo mesmo problema novamente.

Super beijo pra todos e obrigada pela força!!!

Drika

Re: Problemas com caracteres ao finalizar compra

Enviado: 11 Jan 2011, 13:31
por maxno
wpmidia escreveu:Olá de novo!

Problema com os caracteres resolvido!

Basta adicionar:
Código: Selecionar todos
<input type="hidden" name="encoding" value="utf-8" />
no formulário que faz o post dos dados para o carrinho do PagSeguro.

TEMPLATE > PAYMENT > pagseguro.tpl

A solução estava todo esse tempo na documentação do PagSeguro: https://pagseguro.uol.com.br/desenvolve ... tml#passo4

Seria interessante que o desenvolvedor do módulo fizesse essa inclusão para que outros usuários não passem pelo mesmo problema novamente.

Super beijo pra todos e obrigada pela força!!!

Drika

sim, eu não tinha percebido isto ou ngm relatou este erro que vc descreveu, em breve, vou tenta recrialo do pagseguro pelo todos os bugs q forão citados aqui no forum e email

Re: Problemas com caracteres ao finalizar compra

Enviado: 11 Jan 2011, 15:21
por Manoel Vidal
Valeu Drika pela ótima contribuição, fico feliz por você ter compartilhado com a comunidade a solução :D

No que precisar estamos aqui.

Re: Caracteres estranhos ao fechar compra PagSeguro [Resolvi

Enviado: 11 Jan 2011, 16:52
por wpmidia
Contem comigo também! No que eu souber ajudar, eu ajudarei com certeza! ;)

Ah, Manoel, depois gostaria de falar com vc em OFF, pode ser?
Me add no GTalk wpmidia@gmail.com ou MSN wpmidia@live.com

Abraços!
Drika

Re: Caracteres estranhos ao fechar compra PagSeguro [Resolvi

Enviado: 12 Jan 2011, 08:07
por Manoel Vidal
Pode, lhe adicionei no Gtalk.
wpmidia escreveu:Contem comigo também! No que eu souber ajudar, eu ajudarei com certeza! ;)

Ah, Manoel, depois gostaria de falar com vc em OFF, pode ser?
Me add no GTalk wpmidia@gmail.com ou MSN wpmidia@live.com

Abraços!
Drika