Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Ola galera esse e meu primeiro post aqui no forum imaster, eu adorei conhecer esse forum pois tenho aprendido muito aqui.
Porem estou com um problema:
eu uso um script para retorno automatico no pag seguro, ele esta funcionando normal, quando alguem faz uma doaçao ele manda as informações para o banco de dados. ate ai ok
aqui segue o codigo (depois postarei minha duvida):
<?php
/*
Retorno PagSeguro 2.0 - PHP e MySQL
por Diogo Dourado - www.dourado.net
Última Atualização: 09/06/2011
Se você ainda não é cadastrado no PagSeguro, utilize o link abaixo para
se cadastrar:
https://pagseguro.uol.com.br/?ind=528005
*/
header('Content-Type: text/html; charset=ISO-8859-1');
/ Edite este arquivo e insira suas configurações /
include 'PagSeguroRetornoConfig.php';
/ Não é necessário alterar nada desta linha para baixo /
include 'PagSeguroRetornoFuncoes.php';
define('TOKEN', $retorno_token);
if (count($_POST) > 0) {
$npi = new PagSeguroNpi();
$result = $npi->notificationPost();
$transacaoID = isset($_POST['TransacaoID']) ? $_POST['TransacaoID'] : '';
if ($result == "VERIFICADO") {
// Recebendo Dados
$VendedorEmail = $_POST['VendedorEmail'];
$TransacaoID = $_POST['TransacaoID'];
$Referencia = $_POST['Referencia'];
$Extras = MoedaBR($_POST['Extras']);
$TipoFrete = $_POST['TipoFrete'];
$ValorFrete = MoedaBR($_POST['ValorFrete']);
$DataTransacao = ConverterData($_POST['DataTransacao']);
$Anotacao = $_POST['Anotacao'];
$TipoPagamento = $_POST['TipoPagamento'];
$StatusTransacao = $_POST['StatusTransacao'];
$CliNome = $_POST['CliNome'];
$CliEmail = $_POST['CliEmail'];
$CliEndereco = $_POST['CliEndereco'];
$CliNumero = $_POST['CliNumero'];
$CliComplemento = $_POST['CliComplemento'];
$CliBairro = $_POST['CliBairro'];
$CliCidade = $_POST['CliCidade'];
$CliEstado = $_POST['CliEstado'];
$CliCEP = $_POST['CliCEP'];
$CliTelefone = $_POST['CliTelefone'];
$ProdQuantidade = $_POST["ProdQuantidade_{$i}"];
$NumItens = $_POST['NumItens'];
// Gravando Dados
mysql_query("INSERT into PagSeguroTransacoes SET
VendedorEmail='$VendedorEmail',
TransacaoID='$TransacaoID',
Referencia='$Referencia',
Extras='$Extras',
TipoFrete='$TipoFrete',
ValorFrete='$ValorFrete',
DataTransacao='$DataTransacao',
Anotacao='$Anotacao',
TipoPagamento='$TipoPagamento',
StatusTransacao='$StatusTransacao',
CliNome='$CliNome',
CliEmail='$CliEmail',
CliEndereco='$CliEndereco',
CliNumero='$CliNumero',
CliComplemento='$CliComplemento',
CliBairro='$CliBairro',
CliCidade='$CliCidade',
CliEstado='$CliEstado',
CliCEP='$CliCEP',
CliTelefone='$CliTelefone',
NumItens='$NumItens',
Data=now();");}
// Recebendo e gravando produtos
$Processo = mysql_query("SELECT VendedorEmail FROM PagSeguroProdutos WHERE VendedorEmail='$VendedorEmail' AND TransacaoID='$TransacaoID'");
if (mysql_num_rows($Processo)==0) {
for($i=1;$i<=$NumItens;$i++) {
$ProdID = $_POST["ProdID_{$i}"];
$ProdDescricao = $_POST["ProdDescricao_{$i}"];
$ProdValor = MoedaBR($_POST["ProdValor_{$i}"]);
$ProdQuantidade = $_POST["ProdQuantidade_{$i}"];
$ProdFrete = MoedaBR($_POST["ProdFrete_{$i}"]);
mysql_query("INSERT into PagSeguroProdutos SET
VendedorEmail='$VendedorEmail',
TransacaoID='$TransacaoID',
Ordem='$i',
ProdID='$ProdID',
ProdDescricao='$ProdDescricao',
ProdValor='$ProdValor',
ProdQuantidade='$ProdQuantidade',
ProdFrete='$ProdFrete'");
}
}
elseif($StatusTransacao == 'Aprovado' || $StatusTransacao == 'Completo')
{
mysql_query("UPDATE account_data SET dp = dp + '$produtos[0]['ProdQuantidade' WHERE nickname = '$Referencia'");
}
} else {
Header("Location: $retorno_site"); exit();
}
?>
agora ao problema, eu adicionei um elseif para verificar o status da transação ex:
elseif($StatusTransacao == 'Aprovado' || $StatusTransacao == 'Completo')
e se ele for "Aprovado" ou "Completo" ele esecuta a query:
mysql_query("UPDATE account_data SET dp = dp + '$produtos[0]['ProdQuantidade'
WHERE nickname = '$Referencia'");
no qual ele vai fazer um update e somar a quantia de dp + ProdQuantidade
e vai colocar na coluna "nickname" no usuario capturado da Referencia
Mais nao esta funcionando oque eu fiz de errado?
existe alguma maneira de que quando o status for Aprovado ou Completo ele adicione os Donation Point (dp) no nickname da pessoa?
Carregando comentários...