Siga-nos em...
Follow us on Twitter Follow us on Facebook Watch us on YouTube
Registro


HGIDC
Página 1 de 3 123 ÚltimoÚltimo
Resultados 1 a 10 de 27
  1. #1

    Avatar de anderinho2
    Data de Ingresso
    Jul 2012
    Localização
    Valença-BA
    Idade
    22
    Posts
    276
    Agradecido
    32
    Agradeceu
    29
    Peso da Avaliação
    7

    Padrão alternativa, retorno pagseguro

    Bom, pra quem não conhece, o script é disponibilizado pelo próprio pagseguro, só fiz a conexão e adaptar para o nosso uso e + uma tabela de relatórios com listagem simples...

    Primeiramente, rode o codigo sql
    Código HTML:
    USE [MuOnline]
    GO
    
    CREATE TABLE [dbo].[PagSeguro](
        [TransacaoID] [varchar](36) NOT NULL,
        [TipoPagamento] [varchar](50) NOT NULL,
        [CliEmail] [varchar](50) NOT NULL,
        [Valor] [text] NOT NULL,
        [Nome] [varchar](10) NOT NULL,
        [datahora] [datetime] NULL
    )

    Criem os arquivos:
    comprar.php
    retorno.php
    listar.php
    config.php


    comprar.php
    Código HTML:
    <? require('config.php'); ?><center><form target="pagseguro" method="post"
    action="https://pagseguro.uol.com.br/checkout/checkout.jhtml">
                       <input type="hidden" name="email_cobranca"
      value="<?=EMAIL?>" />
                       <input type="hidden" name="tipo" value="CBR" />
                       <input type="hidden" name="moeda" value="BRL" />
                    <input type="hidden" name="item_id" value="1"/>
                    <p><font size="2"> Digite seu Login.  </font></p>
                    <input type="text" name="item_descr"/>
                      <p><font size="2"> Informe o Valor Desejado.  </font></p>
                    <input type="hidden" name="item_quant" value="1"/>                   
        <select name="item_valor">
        <option value="10,00">10 R$</option>
        <option disabled>->100 WCoin's</option>
        <option value="20,00">20 R$</option>
        <option disabled>->220 WCoin's</option>
        <option value="30,00">30 R$</option>
        <option disabled>->340 WCoin's</option>
        <option value="40,00">40 R$</option>
        <option disabled>->460 WCoin's</option>
        <option value="50,00">50 R$</option>
        <option disabled>->580 WCoin's</option>
        <option value="100,00">100 R$</option>
        <option disabled>->1.200 WCoin's</option>
        <option value="200,00">200 R$</option>
        <option disabled>->2.500 WCoin's</option>
        </select><br /><br />
                       <input type="hidden" name="frete" value="0" />
                       <input type="hidden" name="peso" value="0" />
                       <input type="image" value="Comprar" class="button" name="submit" 
      src="https://p.simg.uol.com.br/out/pagseguro/i/botoes/pagamentos/209x48-comprar-azul-assina.gif"
      alt="Pague com PagSeguro - é rápido, grátis e seguro!" />
                     </form></center>
    retorno.php
    Código HTML:
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <?php
    require('config.php');
    class PagSeguroNpi {
        
        private $timeout = 20; // Timeout em segundos
        
        public function notificationPost() {
            $postdata = 'Comando=validar&Token='.TOKEN;
            foreach ($_POST as $key => $value) {
                $valued    = $this->clearStr($value);
                $postdata .= "&$key=$valued";
            }
            return $this->verify($postdata);
        }
        
        private function clearStr($str) {
            if (!get_magic_quotes_gpc()) {
                $str = addslashes($str);
            }
            return $str;
        }
        
        private function verify($data) {
            $curl = curl_init();
            curl_setopt($curl, CURLOPT_URL, "https://pagseguro.uol.com.br/pagseguro-ws/checkout/NPI.jhtml");
            curl_setopt($curl, CURLOPT_POST, true);
            curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
            curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
            curl_setopt($curl, CURLOPT_HEADER, false);
            curl_setopt($curl, CURLOPT_TIMEOUT, $this->timeout);
            curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
            $result = trim(curl_exec($curl));
            curl_close($curl);
            return $result;
        }
    
    }
    $connect = mssql_connect(MSSQL, USER, PASS) or die('Não foi possível conectar com o servidor MSSQL');
    if (count($_POST) > 0) {
        // POST recebido, indica que é a requisição do NPI.
        $npi = new PagSeguroNpi();
        $result = $npi->notificationPost();
        $transacaoID = isset($_POST['TransacaoID']) ? $_POST['TransacaoID'] : '';
        $Status = $_POST['StatusTransacao'];
        $Transacao = $_POST['TransacaoID'];
         $TipoPagamento = $_POST['TipoPagamento'];
         $CliEmail = $_POST['CliEmail'];
        date_default_timezone_set('America/Sao_Paulo');
        $datahora = date("Y/m/d H:i:s");
        //update cash
        $Nome  = $_POST['ProdDescricao_1'];
        $Valor  = round($_POST['ProdValor_1']);
    if ($result == "VERIFICADO") {
      if ($Status == "Aprovado") {
        //insert payment
        switch($Valor)
                    {
                        case 10 : $Cash = 0; break;
                        case 20 : $Cash = 20; break;
                        case 30 : $Cash = 40; break;
                        case 40 : $Cash = 60; break;
                        case 50 : $Cash = 80; break;
                        case 100 : $Cash = 200; break;
                        case 200 : $Cash = 500; break;
                    }
        $Saldo  = $Valor + $Cash;
        mssql_query("update ".CASH_DB.".dbo.".CASH_TB." set ".CASH_CO_CASH." = ".CASH_CO_CASH." + {$Saldo} WHERE ".CASH_CO_CONTA." = '{$Nome}'");
        mssql_query("INSERT into ".PAG_DB.".dbo.".PAG_TB." (TransacaoID, datahora, TipoPagamento, CliEmail, Valor, Nome) VALUES ('{$Transacao}','{$datahora}','{$TipoPagamento}','{$CliEmail}','{$Valor}','{$Nome}')"); 
      }
    } else if ($result == "FALSO") {
            //O post não foi validado pelo PagSeguro.
        } else {
            //Erro na integração com o PagSeguro.
        }
        
    } else {
        // POST não recebido, indica que a requisição é o retorno do Checkout PagSeguro.
        // No término do checkout o usuário é redirecionado para este bloco.
        ?>
        <?php
    }
    
    ?>
    listar.php
    Código HTML:
        <html>
        <head>
        <title></title>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        </head>
        <body>
    <center>
        <?php
        require('config.php');
        //Executa a consulta
        $connect = mssql_connect(MSSQL, USER, PASS) or die('Não foi possível conectar com o servidor MSSQL');
        echo "<table bgcolor=\"#666666\" width=\"70%\" border=\"0\"><tr>
                          <td width=\"5%\"><strong>#</strong></td>
                          <td width=\"10%\"><strong>Nome</strong></td>
                          <td width=\"10%\"><strong>Valor</strong></td>
                          <td width=\"20%\"><strong>Dara e Hora</strong></td>
                          <td width=\"15%\"><strong>Email</strong></td>
                          <td width=\"15%\"><strong>Tipo de Pagamento</strong></td>
                          <td width=\"15%\"><strong>ID da Transação</strong></td>
                         </tr></table>\n";
    
    $Query = mssql_query("SELECT * FROM ".PAG_DB.".dbo.".PAG_TB." ORDER BY datahora DESC");
    
    for($WzAG = 0; $WzAG < mssql_num_rows($Query); $WzAG++)
            {
                 $Ranking = $WzAG+1;
                $Load = mssql_fetch_array($Query);
                $nome = $Load["Nome"];
                $valor = $Load["Valor"];
                $datahora = $Load["datahora"];
                $email = $Load["CliEmail"];
                $pagamento = $Load["TipoPagamento"];
                $transacao = $Load["TransacaoID"];
                echo "<table width=\"70%\" border=\"0\"><tr>
                          <td width=\"5%\"><strong>".$Ranking."</strong></td>
                             <td width=\"10%\">".$nome."</td>
                          <td width=\"10%\">".$valor."</td>
                          <td width=\"20%\">".$datahora."</td>
                          <td width=\"15%\">".$email."</td>
                          <td width=\"15%\">".$pagamento."</td>
                          <td width=\"15%\">".$transacao."</td>
                         </tr></table>\n";
            }
    
        ?></center>
        </body>
        </html>
    config.php
    Código HTML:
    <?php
    define("MSSQL","127.0.0.1");
    define("USER","sa");
    define("PASS","minhasenha");
    
    define("CASH_DB","MuOnline");
    define("CASH_TB","MEMB_INFO");
    define("CASH_CO_CONTA","memb___id");
    define("CASH_CO_CASH","CASH");
    
    define("EMAIL","seuemail@host.com");
    
    define("Pag_DB","MuOnline");
    define("Pag_TB","PagSeguro");
    define("TOKEN","xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
    ?>

    Para pegar o token, vá na sua conta pagseguro, a esquerda va em "Integração", selecione "Token de Segurança" e click em "Gerar Novo Token". Copie o codigo gerado e cole na sua config.

    Pra configurar a pagina em que o pagseguro deve retornar os dados va em "Integrações" novamente e selecione "Pagina de Redirecionamento" mude a radiobox pra ativado e cole o link direto da sua pagina de retorno.php, e click em ativar.


    Não irei dar suporte nenhum...
    O que você procura...? Qual a sua Ganância...?

  2. #2

    Avatar de pedrobuck
    Data de Ingresso
    Sep 2009
    Localização
    Lorencia
    Posts
    56
    Agradecido
    1
    Peso da Avaliação
    8

    Padrão

    isso eu posso colocar em qualquer site?

  3. #3

    Avatar de TeamKingBR
    Data de Ingresso
    Dec 2011
    Localização
    Maua
    Idade
    36
    Posts
    230
    Agradecido
    71
    Agradeceu
    51
    Peso da Avaliação
    8

    Padrão

    acredito em site de MuOnline

  4. #4

    Avatar de miguel223
    Data de Ingresso
    Jul 2013
    Localização
    Nordeste
    Idade
    29
    Posts
    12
    Agradecido
    0
    Agradeceu
    0
    Peso da Avaliação
    0

    Padrão

    ---------------------------------------------------------------------------
    case 10 : $Cash = 0; break;
    case 20 : $Cash = 20; break;
    case 30 : $Cash = 40; break;
    case 40 : $Cash = 60; break;
    case 50 : $Cash = 80; break;
    case 100 : $Cash = 200; break;
    case 200 : $Cash = 500; break;
    ------------------------------------------------------------------
    Não seria 10?

  5. #5

    Avatar de anderinho2
    Data de Ingresso
    Jul 2012
    Localização
    Valença-BA
    Idade
    22
    Posts
    276
    Agradecido
    32
    Agradeceu
    29
    Peso da Avaliação
    7

    Padrão

    isso vc define, no caso o valor minimo eu n dou nenhum bônus, por isso é 0
    O que você procura...? Qual a sua Ganância...?

  6. #6

    Avatar de miguel223
    Data de Ingresso
    Jul 2013
    Localização
    Nordeste
    Idade
    29
    Posts
    12
    Agradecido
    0
    Agradeceu
    0
    Peso da Avaliação
    0

    Padrão

    Isso é bonus então? Se eu por zero em tudo, ele só recebe aquilo que doou?

  7. #7



    Avatar de Ayrton Ricardo
    Data de Ingresso
    May 2012
    Localização
    Joao Pessoa - PB
    Idade
    21
    Posts
    1.390
    Agradecido
    251
    Agradeceu
    166
    Peso da Avaliação
    19

    Padrão

    Citação Postado originalmente por miguel223 Ver Post
    Isso é bonus então? Se eu por zero em tudo, ele só recebe aquilo que doou?
    Sim.
    Leiam, todo desenvolvedor PHP precisa conhecer: Hidden Content .
    Hidden Content
    Intel core I3-4130@3.4 | Blizzard T2 | GAB85M-D3H | 8 GB 1333 | R9 280x Vapor X OC | AOC 23" 3D | NZXT Phantom | Corsair CX 750

  8. #8

    Avatar de miguel223
    Data de Ingresso
    Jul 2013
    Localização
    Nordeste
    Idade
    29
    Posts
    12
    Agradecido
    0
    Agradeceu
    0
    Peso da Avaliação
    0

    Padrão

    Alguém ja testou e viu se funcionou? Pode ser o próprio dono do tópico mesmo, é só para eu saber se posso testa sem medo.
    Última edição por miguel223; 18-07-2013 às 02:36 AM.

  9. #9

    Avatar de anderinho2
    Data de Ingresso
    Jul 2012
    Localização
    Valença-BA
    Idade
    22
    Posts
    276
    Agradecido
    32
    Agradeceu
    29
    Peso da Avaliação
    7

    Padrão

    sim, eu usava num antigo servidor e sempre fucionou sem problems... caso axe algum bug, notifique-me
    O que você procura...? Qual a sua Ganância...?

  10. #10

    Avatar de miguel223
    Data de Ingresso
    Jul 2013
    Localização
    Nordeste
    Idade
    29
    Posts
    12
    Agradecido
    0
    Agradeceu
    0
    Peso da Avaliação
    0

    Padrão

    Se eu tirar essas opções disabled de Wcoins, colocar mais valores e deixar assim vai dar bug?:

    ----------------------------------------------------- comprar.php
    <option value="2,00">2 R$</option>
    <option value="5,00">5 R$</option>
    <option value="10,00">10 R$</option>
    <option value="20,00">20 R$</option>
    <option value="30,00">30 R$</option>
    <option value="40,00">40 R$</option>
    <option value="50,00">50 R$</option>
    <option value="100,00">100 R$</option>
    <option value="200,00">200 R$</option>
    ------------------------------------------------- retorno.php

    case 2 : $Cash = 0; break;
    case 5 : $Cash = 0; break;
    case 10 : $Cash = 0; break;
    case 20 : $Cash = 0; break;
    case 30 : $Cash = 0; break;
    case 40 : $Cash = 0; break;
    case 50 : $Cash = 0; break;
    case 100 : $Cash = 0; break;
    case 200 : $Cash = 0; break;
    Última edição por miguel223; 18-07-2013 às 03:37 AM.

 

 
Página 1 de 3 123 ÚltimoÚltimo

Informações de Tópico

Usuários Navegando neste Tópico

Há 1 usuários navegando neste tópico. (0 registrados e 1 visitantes)

Tópicos Similares

  1. |Download| Modulo do PagSeguro (retorno automático de dados)
    Por BeoWulf no fórum Downloads
    Respostas: 29
    Último Post: 26-06-2016, 03:57 PM
  2. |Dúvida| PagSeguro effect
    Por Stronda no fórum Dúvidas|Pedidos
    Respostas: 7
    Último Post: 08-08-2015, 06:29 PM
  3. Dúvida pagseguro !
    Por mudestroyer no fórum Cantinho IMP Games
    Respostas: 7
    Último Post: 01-05-2013, 05:23 PM
  4. |Dúvida| Sistema Pagseguro
    Por Zard no fórum Dúvidas|Pedidos
    Respostas: 1
    Último Post: 25-03-2013, 02:07 PM
  5. |Pedido| Sistema de Pagseguro
    Por Neox no fórum Arquivos MuOnline
    Respostas: 12
    Último Post: 28-01-2012, 09:53 AM

Marcadores

Permissões de Postagem

  • Você não pode iniciar novos tópicos
  • Você não pode enviar respostas
  • Você não pode enviar anexos
  • Você não pode editar suas mensagens
  •