public static function capturarDados()
 {
     // Variáveis de retorno
     // Obtenha seu TOKEN entrando no menu Ferramentas do Pagamento Digital
     $token = "79959701D0D99B078B7C";
     /* Montando as variáveis de retorno */
     $post1 = $_POST;
     $id_transacao = $_POST['id_transacao'];
     $data_transacao = $_POST['data_transacao'];
     $data_credito = $_POST['data_credito'];
     $valor_original = $_POST['valor_original'];
     $valor_loja = $_POST['valor_loja'];
     $tipo_pagamento = $_POST['tipo_pagamento'];
     $parcelas = $_POST['parcelas'];
     $cliente_nome = $_POST['cliente_nome'];
     $cliente_email = $_POST['cliente_email'];
     $cliente_cpf = $_POST['cliente_cpf'];
     $cliente_endereco = $_POST['cliente_endereco'];
     $cliente_complemento = $_POST['cliente_complemento'];
     $status = $_POST['status'];
     $cod_status = $_POST['cod_status'];
     $cliente_bairro = $_POST['cliente_bairro'];
     $cliente_cidade = $_POST['cliente_cidade'];
     $cliente_estado = $_POST['cliente_estado'];
     $cliente_cep = $_POST['cliente_cep'];
     $frete = $_POST['frete'];
     $tipo_frete = $_POST['tipo_frete'];
     $informacoes_loja = $_POST['informacoes_loja'];
     $id_pedido = $_POST['id_pedido'];
     $free = $_POST['free'];
     /* Essa variável indica a quantidade de produtos retornados */
     $qtde_produtos = $_POST['qtde_produtos'];
     $params = array("transacao" => $id_transacao, "status" => $status, "valor_original" => $valor_original, "valor_loja" => $valor_loja, "token" => $token);
     $postdata = http_build_query($params);
     $enderecoPost = "https://www.pagamentodigital.com.br/checkout/verify/";
     $opts = array('http' => array('method' => 'POST', 'header' => "Content-type: application/x-www-form-urlencoded \r\n", 'content' => $postdata));
     $context = stream_context_create($opts);
     $resposta = file_get_contents($enderecoPost, false, $context);
     if (trim($resposta) == "VERIFICADO") {
         $vendaobj = new Modulo_Clientes_Venda();
         // Loop para retornar dados dos produtos
         for ($x = 1; $x <= $qtde_produtos; $x++) {
             $produto_codigo = $_POST['produto_codigo_' . $x];
             $produto_descricao = $_POST['produto_descricao_' . $x];
             $produto_qtde = $_POST['produto_qtde_' . $x];
             $produto_valor = $_POST['produto_valor_' . $x];
             $produto_extra = $_POST['produto_extra_' . $x];
             /*
             Após obter as variáveis dos produtos, grava no banco de dados.
             Se produto já existe, atualiza os dados, senão cria novo pedido.
             */
             # Grava os dados no banco
             $id = $vendaobj->gravaVendas($post1);
         }
         # mostra o layout do comprovante
         echo $vendaobj->mostraComprovante($id);
     }
     die;
 }
 public function capturarDados()
 {
     $token = 'DB48615D5BDC24C9EA59D626C98760F3';
     // RECEBE O POST ENVIADO PELA PagSeguro E ADICIONA OS VALORES PARA VALIDAÇÃO DOS DADOS
     $PagSeguro = 'Comando=validar';
     $PagSeguro .= '&Token=' . $token;
     // token de retorno do pagseguro
     // para cada variavel do Post verifica e retorna para verificação
     foreach ($_POST as $key => $value) {
         $value = urlencode(stripslashes($value));
         $PagSeguro .= "&{$key}={$value}";
     }
     $post1 = $_POST;
     $ch = curl_init();
     // ENVIA DE VOLTA PARA A PagSeguro OS DADOS PARA VALIDAÇÃO
     curl_setopt($ch, CURLOPT_URL, 'https://pagseguro.uol.com.br/Security/NPI/Default.aspx');
     curl_setopt($ch, CURLOPT_POST, true);
     curl_setopt($ch, CURLOPT_POSTFIELDS, $PagSeguro);
     curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
     curl_setopt($ch, CURLOPT_HEADER, false);
     curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30);
     curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true);
     $msg_erro = '/VERIFICADO/i';
     $erro = '';
     $cont = 0;
     $max_req = 10;
     //max de requisições para o site dos correios
     while ($cont < $max_req) {
         $resp = curl_exec($ch);
         if (!preg_match($msg_erro, $resp, $erro)) {
             break;
         } else {
             $cont++;
         }
     }
     curl_close($ch);
     if ($resp) {
         // recebe os dados enviados pelo pagseguro e grava no banco
         $post1['free'] = 'Bazar';
         $post1['status'] = $_POST['StatusTransacao'];
         $post1['parcelas'] = 1;
         $post1['tipo_pagamento'] = $_POST['TipoPagamento'];
         $post1['valor_original'] = $_POST['ProdValor_1'];
         $post1['valor_loja'] = $_POST['ProdValor_1'];
         $post1['cliente_nome'] = $_POST['CliNome'];
         $post1['data_transacao'] = date('d/m/Y');
         $post1['tipo_pagamento'] = $_POST['TipoPagamento'];
         $post1['id_transacao'] = $_POST['TransacaoID'];
         // remove quaisquer valores da variavel cpf para poder fazer a busca no banco pelo nome do individuo
         unset($post1['cliente_cpf']);
         $vendaobj = new Modulo_Clientes_Venda();
         // Loop para retornar dados dos produtos
         //	for($x = 1; $x <= $qtde_produtos; $x ++) {
         $produto_codigo = $_POST['item_codigo_' . $x];
         $produto_descricao = $_POST['item_descricao_' . $x];
         $produto_qtde = $_POST['item_qtde_' . $x];
         $produto_valor = $_POST['item_valor_' . $x];
         //$produto_extra 		= $_POST ['item_extra_' . $x];
         /*
         Após obter as variáveis dos produtos, grava no banco de dados.
         Se produto já existe, atualiza os dados, senão cria novo pedido.
         */
         # Grava os dados no banco
         $id = $vendaobj->gravaVendas($post1);
         if ($id) {
             $_SESSION['id_pagamento'] = $id;
         }
         //}
         # mostra o layout do comprovante
         //echo $vendaobj->mostraComprovante ($_SESSION['id_pagamento']);
     } else {
         if (strcmp($res, "FALSO") == 0) {
             // LOG para investigação manual
             die('deu erro');
         }
     }
 }