Crie um arquivo.php na pasta: xammp/htdocs/sytem/pages
com o nome de pagseguro.php
<?php global $config; require("config.php"); $ots = POT::getInstance(); $ots->connect(POT::DB_MYSQL, connection()); $SQL = $ots->getDBHandle(); $ide = new IDE; $ide->requireLogin(); if($ide->isLogged()){ $accountName = $_SESSION['name']; //$SQL->query('SELECT * FROM accounts WHERE name="'.$accountName.'"')->fetch(); ?> <form target="pagseguro" method="post" action="https://pagseguro.uol.com.br/checkout/checkout.jhtml"> <input type="hidden" name="email_cobranca" value="<?php echo $config['pagseguro']['email']; ?>"> <input type="hidden" name="tipo" value="CP"> <input type="hidden" name="moeda" value="BRL"> <input type="hidden" name="item_id_1" value="1"> <input type="hidden" name="item_descr_1" value="<?php echo $config['pagseguro']['produtoNome']; ?>"> <input type="hidden" name="item_valor_1" value="<?php echo $config['pagseguro']['produtoValor']; ?>"> <input type="hidden" name="item_frete_1" value="0"> <input type="hidden" name="item_peso_1" value="0"> <input type="hidden" name="ref_transacao" value="<?php echo $accountName; ?>"> <table border="0" cellpadding="4" cellspacing="1" width="100%" id="#estilo"><tbody> <tr> <th colspan="2">Escolha a quantidade de pontos que deseja comprar:</th> </tr> <tr> <td width="25%">Sua conta:</td> <td><strong><?php echo $accountName; ?></strong></td> </tr> <tr> <td width="25%">Pontos:</td> <td> <input name="item_quant_1" type="text" value="1" size="5" maxlength="5"> </td> </tr> <tr> <td colspan="2"> <input type="image" src="https://p.simg.uol.com.br/out/pagseguro/i/botoes/carrinhoproprio/btnFinalizar.jpg" name="submit" alt="Pague com PagSeguro - é rápido, grátis e seguro!" /> </td> </tr> </tbody></table></form><p style="text-align: right; font-size: 10px">created by <a href="http://otland.net/members/tatu+hunter/" target="_blank">tatu hunter</a></p><?php } ?>
Agora vá em htdocs e abra o arquivo config.php:
la em baixo antes do "?>"
você adiciona:
// Sistema automatico Pagseguro // Seu email cadastrado no pagseguro $config['pagseguro']['email'] = 'seu email pagseguro'; [b]-- seu email pagseguro--[/b] // Nome do Produto $config['pagseguro']['produtoNome'] = 'Pontos VIP'; // Valor unitario do produto ou seja valor de cada ponto // Exemplo de valores // 100 = R$ 1,00 // 235 = R$ 2,35 // 4254 = R$ 42,54 $config['pagseguro']['produtoValor'] = '100'; // Token gerado no painel do pagseguro [b]--token você pega após confirmar que tem mais de 18 anos para receber as donations--[/b] $config['pagseguro']['token'] = 'seu token pagseguro';
Agora crie na pasta htdocs um arquivo chamado retPagseguro.php
e cole:
<?php // Arquivo de configuracao do Modern AAC include('config.php'); // Aqui vai seu Token define('TOKEN', $config['pagseguro']['token']); // 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) { global $config; if(strtolower($StatusTransacao) == 'aprovado') { require("system/application/libraries/POT/OTS.php"); $ots = POT::getInstance(); $ots->connect(POT::DB_MYSQL, array('host' => $config['database']['host'], 'user' => $config['database']['login'], 'password' => $config['database']['password'], 'database' => $config['database']['database'])); $SQL = $ots->getDBHandle(); $account_logged = $ots->createObject('Account'); $account_logged->find($Referencia); if($account_logged->isLoaded()) { $pontos = $account_logged->getCustomField("premium_points"); $account_logged->setCustomField("premium_points", $pontos + $produtos[0]['ProdQuantidade']); $nome = $Referencia.'-'.date('d-m-Y',$_SERVER['REQUEST_TIME']).'.txt'; if(file_exists('logsPagseguro/'.$nome)) $nome = $Referencia.'-2-'.date('d-m-Y',$_SERVER['REQUEST_TIME']).'.txt'; $arquivo = fopen('logsPagseguro/'.$nome, "w+"); $dados = "Conta: ".$Referencia."\n"; $dados = "Email: ".$CliEmail."\n"; $dados .= "Total de Points: ".$produtos[0]['ProdQuantidade']."\n"; $dados .= "Hora da Transação: ". date('d-m-Y H:i:s', $_SERVER['REQUEST_TIME']).""; fwrite($arquivo, $dados); fclose($arquivo); } } } // A partir daqui, é só HTML: ?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>Estamos verificando seu pagamento</title> </head> <body> <h1>Pedido em processamento</h1> <p>Recebemos seu pedido e estamos aguardando pela confirmação do pagamento. Obrigado por ajudar.</p> </body> </html>
Para finalizar: Adicione no seu phpmyadmin,na parte SQL,a seguinte database:
CREATE TABLE `retorno_automatico` ( `TransacaoID` varchar(36) NOT NULL, `VendedorEmail` varchar(200) NOT NULL, `Referencia` varchar(200) default NULL, `TipoFrete` char(2) default NULL, `ValorFrete` decimal(10,2) default NULL, `Extras` decimal(10,2) default NULL, `Anotacao` text, `TipoPagamento` varchar(50) NOT NULL, `StatusTransacao` varchar(50) NOT NULL, `CliNome` varchar(200) NOT NULL, `CliEmail` varchar(200) NOT NULL, `CliEndereco` varchar(200) NOT NULL, `CliNumero` varchar(10) default NULL, `CliComplemento` varchar(100) default NULL, `CliBairro` varchar(100) NOT NULL, `CliCidade` varchar(100) NOT NULL, `CliEstado` char(2) NOT NULL, `CliCEP` varchar(9) NOT NULL, `CliTelefone` varchar(14) default NULL, `NumItens` int(11) NOT NULL, `Data` datetime NOT NULL, `status` tinyint(1) unsigned NOT NULL default '0', UNIQUE KEY `TransacaoID` (`TransacaoID`,`StatusTransacao`), KEY `Referencia` (`Referencia`), KEY `status` (`status`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1;
E essa outra aqui :
CREATE TABLE `PagSeguroTransacoes` ( `TransacaoID` varchar(36) NOT NULL, `VendedorEmail` varchar(200) NOT NULL, `Referencia` varchar(200) default NULL, `TipoFrete` char(2) default NULL, `ValorFrete` decimal(10,2) default NULL, `Extras` decimal(10,2) default NULL, `Anotacao` text, `TipoPagamento` varchar(50) NOT NULL, `StatusTransacao` varchar(50) NOT NULL, `CliNome` varchar(200) NOT NULL, `CliEmail` varchar(200) NOT NULL, `CliEndereco` varchar(200) NOT NULL, `CliNumero` varchar(10) default NULL, `CliComplemento` varchar(100) default NULL, `CliBairro` varchar(100) NOT NULL, `CliCidade` varchar(100) NOT NULL, `CliEstado` char(2) NOT NULL, `CliCEP` varchar(9) NOT NULL, `CliTelefone` varchar(14) default NULL, `NumItens` int(11) NOT NULL, `Data` datetime NOT NULL, `status` tinyint(1) unsigned NOT NULL default '0', UNIQUE KEY `TransacaoID` (`TransacaoID`,`StatusTransacao`), KEY `Referencia` (`Referencia`), KEY `status` (`status`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1;
Depois ainda na pasta htdocs você cria uma pasta com o nome de logsPagseguro nela ficarão salvos todos os pagamentos completados.
E para que o pagamento apareça nessa pasta você tem que configurar no site do pagseguro a url de retorno:
logue em sua conta.
Vá em: Preferências -> Retorno automático de dados
e procure 'Ative a URL de retorno', coloque Ativar.
e depois coloca na URL de Retorno to http://www.yoursite.com/retPagseguro.php
Creditos:
99,99% Tatu Hunter
00,01% a mim por trazer gratuitamente a todos do Xtibia
+ rep pra eu plx =)