tamires 0 Denunciar post Postado Abril 6, 2010 Olá! Estou com 3 problemas na no retorno automático do PagSeguro. Já procurei o suporte mas não obtive resposta. 1 - O valor dos produtos está sendo retornado de forma errada. Qualquer produto que custe mil reais ou mais perde alguns digitos. Se eu deixo a variavel sem tratamento nenhum ele cadastra mil e quinhentos reais como 1 real e 50 cents. Se eu coloco number_format($var,2,",","."), ele cadatra como um real. Muito esquisito isso, até por que qualquer coisa que custe menos de mil retorna corretamente. 2 - Meu campo "referência" não retorna nada. Antes eu estava passando ele assim: <input type="hidden" name="Referencia" value="<?php echo $linhas_find_cli['id_user_dados']?>"/>Ai pelo que pesquisei, estava errado. Então comecei a passar assim: <input type="hidden" name="ref_transacao" value="<?php echo $linhas_find_cli['id_user_dados']?>"/>mas continua sem retornar nada.3 - O mesmo acontece com o campo anotação... estou passando assim: <input type="hidden" name="anotacao" value="1"/>E ele não me retorna nada. Obrigada pela ajuda Tamires Compartilhar este post Link para o post Compartilhar em outros sites
brcontainer 16 Denunciar post Postado Abril 14, 2010 1 - Esse "cadastra mil e quinhentos reais" seria no SQL ou no sistema do pagseguro? 2 e 3 - não entendi a parte do retorna, você se refere a variavel $linhas_find_cli['id_user_dados'] ou ao pagseguro? Atenciosamente Silverfox Compartilhar este post Link para o post Compartilhar em outros sites
tamires 0 Denunciar post Postado Abril 19, 2010 1 - Esse "cadastra mil e quinhentos reais" seria no SQL ou no sistema do pagseguro? 2 e 3 - não entendi a parte do retorna, você se refere a variavel $linhas_find_cli['id_user_dados'] ou ao pagseguro? Atenciosamente Silverfox 1 - Sim na hora de cadastrar o SQL ele retorna dessa forma. No PagSeguro o boleto é gerado com valor correto. Já verifiquei o campo no banco, está correto o tipo de dados. 2 - Quanto ao retorno, eu postei o input "referencia" com esse "linhas_find_cli" para mostrar como estou passando o campo. O valor é enviado para o PagSeguro mas no retorno estou tendo problemas com esses dois campos que postei, pois eles estão voltando vazios. Abs Compartilhar este post Link para o post Compartilhar em outros sites
brcontainer 16 Denunciar post Postado Abril 21, 2010 Teria como o colocar o script de forma mais completa (sem o TOKEN para sua segurança), provavelmente você esta confundindo algo (ao meu ver) =) Acho que talvez você esteja trocando alguma variável. Espero que eu possa lhe ajudar. Atenciosamente Silverfox. Compartilhar este post Link para o post Compartilhar em outros sites
tamires 0 Denunciar post Postado Abril 25, 2010 Claro, segue abaixo! header('Content-Type: text/html; charset=ISO-8859-1'); define('TOKEN', 'lalala'); //procura email do adm para o envio dos emails $query_find_par=mysql_query("select valor from lfp_site_parametro where id_site_parametro =2") or die("Erro ao acessar dados. Erro: ".mysql_error()); $linhas_find_par=mysql_fetch_array($query_find_par); //$fromaddress = $linhas_find_par['valor']; $fromaddress = "email_para_teste"; //funcao de retorno automatico function retorno_automatico ($VendedorEmail, $TransacaoID, $Referencia, $TipoFrete, $ValorFrete, $Anotacao, $DataTransacao, $TipoPagamento, $StatusTransacao, $CliNome, $CliEmail, $CliEndereco, $CliNumero, $CliComplemento, $CliBairro, $CliCidade, $CliEstado, $CliCEP, $CliTelefone, $produtos, $NumItens ) { //trata vars $TransacaoID = $_POST['TransacaoID']; $Referencia= $_POST['Referencia']; $DataTransacao= $_POST['DataTransacao']; $StatusTransacao= $_POST['StatusTransacao']; $Anotacao= $_POST['Anotacao']; //verifica se o pedido existe $pedido = mysql_query("SELECT * FROM lfp_pedido WHERE TransacaoID='".$TransacaoID."'"); $linhas=mysql_num_rows($pedido); if($linhas==0){ //deleta produtos do carrinho e cookie mysql_query("DELETE FROM lfp_carrinho WHERE clienteId = $Referencia"); setcookie("cartId","", time()-3600); //insert do pedido mysql_query("INSERT INTO lfp_pedido (TransacaoID, fk_user_dados, data_hora, pago, atendido, termos, data_final, tipo) VALUES ('$TransacaoID', '$Referencia', STR_TO_DATE('$DataTransacao', '%Y-%m-%d %H:%m:%S'), '$StatusTransacao', 'Sim', 'S', DATE_ADD(now(),INTERVAL 30 DAY), '$Anotacao')"); //insert prods for($i=1;isset($_POST["ProdID_1"]);$i++){ $produto = $_POST["ProdID_{$i}"]; if($produto != ''){ $ProdID = $_POST["ProdID_{$i}"]; $ProdDescricao = $_POST["ProdDescricao_{$i}"]; $ProdValor = number_format($_POST["ProdValor_{$i}"],2,".",","); $valorTotal = number_format($valorTotal + $_POST["ProdValor_{$i}"],2,".".","); mysql_query("INSERT INTO lfp_vinculo_pedido (TransacaoID, fk_img_cadastro, valor) VALUES ('$TransacaoID', '$ProdID', '$ProdValor')"); //envia e-mail para o colaborador $query_find_col=mysql_query("SELECT email from lfp_user_dado AS user INNER JOIN lfp_img_cadastro AS img ON user.id_user_dados = img.fk_id_user_dado WHERE id_img_cadastro =".$ProdID); $linhas_find_col=mysql_fetch_array($query_find_col); //dados do email sobre a venda //$toaddress = $linhas_find_col['email']; $toaddress = "email_para_teste"; //$fromaddress = $linhas_find_par['valor']; $fromaddress = "email_para_teste"; $assunto = "TituloMSG."; //msg $formatMessage = "MSG"; $formatMessage .= "Data: " . date(d)."/".date(m)."/".date(Y)."<br>"; $formatMessage .= "Hora: " . date(H).":".date(i).":".date(s)."<br>"; //Função mail() para envio de mensagem para o colaborador mail("$toaddress","$assunto","$formatMessage","FROM: $fromaddress"); } } //update do pedido - colocando o valor total da compra mysql_query("UPDATE lfp_pedido SET valor = '".$valorTotal."' WHERE TransacaoID='".$TransacaoID."'"); }else{ //update do pedido mysql_query("UPDATE lfp_pedido SET StatusTransacao = '".$StatusTransacao."' WHERE TransacaoID='".$TransacaoID."'"); } if (isset($_POST)) { $f=fopen ('pagseguro.log', 'a'); # o "a" é para ele "appendar" o conteúdo, ou seja, colocar ao final fwrite($f, "'Recebeu o post, verificando junto ao PagSeguro'\n"); # escrevendo a mensagem, mais uma quebra de linha fwrite($f, var_export( $_POST['TransacaoID'], true)); # imprime os dados no arquivo de log fwrite($f, "\n---------\n\n"); # um espaço para separar as ocorrencias fclose($f); } } retorno_automatico($VendedorEmail, $TransacaoID, $Referencia, $TipoFrete,$ValorFrete, $Anotacao, $DataTransacao, $TipoPagamento,$StatusTransacao, $CliNome, $CliEmail, $CliEndereco,$CliNumero, $CliComplemento, $CliBairro, $CliCidade,$CliEstado, $CliCEP, $CliTelefone, $produtos, $NumItens); require_once("retorno.php"); Compartilhar este post Link para o post Compartilhar em outros sites