Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Bom dia a todos >:)
Desculpem porque na verdade nao sou programadora, entao o meu pode ser um erro basico.
Sei que as variavéis retornadas pelo POST do pagseguro nao podem ser imprimidas diretamente a video para o usuario (apesar de nao entender o porque?)
Mas nao posso nem mesmo manipula-las??
Gostaria de exibir um print para o usuario se o status é um e outro print se o statos for diferente. Todo o resto funciona e o banco de dados vem atualizado.
Segue o codigo, quem puder dar uma olhada rapida, obrigada!!! >:)
<?
// Aqui vai seu Token
define('TOKEN','xxxxxxx');
// Incluindo o arquivo da biblioteca
include('retorno.php');
// Função que captura os dados do retorno
function retorno_automatico ( $VendedorEmail, $TransacaoID,
$Referencia, $TipoFrete, $ValorFrete, $Anotacao, $DataTransacao,
$TipoPagamento, $StatusTransacao, $CliNome, $CliEmail,
$CliEndereco, $CliNumero, $CliComplemento, $CliBairro, $CliCidade,
$CliEstado, $CliCEP, $CliTelefone, $produtos, $NumItens) {
//registrar dados do status
//open conction DB
$con = mysql_connect("xxxx","xxxxx","xxxxxx");
if (!$con){
die('Could not connect: ' . mysql_error());
}
mysql_select_db("adriana_tarot", $con);
//verifico se l'id già esiste
$confirma_reuso = mysql_query("SELECT id_transaction FROM pagseguro WHERE id_transaction = '$TransacaoID'")or die(mysql_error());
while ($row = mysql_fetch_assoc($confirma_reuso)) {
$id = $row["id_transaction"];
}
//se existe atualiza status
if ($id == $TransacaoID){
mysql_query("UPDATE pagseguro SET status = '$StatusTransacao' WHERE id_transaction = '$TransacaoID'");
}
//se nao existe cria entrada
// preparo la query
else {
$query = "INSERT INTO pagseguro (id_transaction, status, utilizado) VALUES ('$TransacaoID', '$StatusTransacao', 'no')";
// lancio la query
$result1 = mysql_query($query);
// controllo l'esito
if (!$result1) {
die("Errore nella query $query: " . mysql_error());
}
//verifica status e da a resposta
// se o pagamento foi ja processado
if ($StatusTransacao == 'Completo' OR $StatusTransacao == 'Aprovado') {
echo "<h3>Obrigada por nos escolher!</h3>";
echo "O seu pagamento foi processado e voce recebera um email com o recibo e os detalhes do pagamento.";
mysql_query("UPDATE pagseguro SET utilizado = 'yes' WHERE id_transaction = '$TransacaoID'");
}
//pagamento em pausa
else {
echo "<h1>Pedido em processamento</h1>Recebemos seu pedido e estamos aguardando pela
confirmação do pagamento.<br> Por favor, <strong> anote o numero da sua transaçao: '$TransacaoID'</strong><br> Esse numero serà necessario para liberar a sua consulta.<br>Acesse a pagina <a href='xxxxxxx.html'>[http://www.xxxxxx.html](http://www.xxxxxx.html) para verificar o status da sua consulta, assim que o pagamento for processado a consulta sera liberada automaticamente.";
}
}
}
// chiudo la connessione a MySQL
mysql_close();
?>
Se isso é impossivel, que soluçao voces usam para dizer alguma coisa para o cliente se o pagamento ainda nao foi processado? :huh
Olá amigo,
infelizmente a manipulação do retorno automático não é possível, então o ideal no seu caso é gravar o retorno automático no BD e depois consultar esse retorno para ai sim fazer a sua manipulação.
abraços,