Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Paulodemoc

[Resolvido] PagSeguro + CodeIgniter

Recommended Posts

Olá pessoal,

 

estou desenvolvendo um website em PHP com CodeIgniter

e estou tentando integrar com o PagSeguro. A parte de pagamento já está funcionando,

mas eu configurei a URL de retorno automático, mas não estou sabendo terminar daí...

 

Eu já tentei colocar o tratamento no Controlador, já tentei colocar na visão e

chamá-la imediatamente no controlador, e já tentei até criar um Helper, mas

não obtive exito...

 

A impressão que estou tento é que o retorno automático não

está retornando nada no POST... alguém saberia me explicar o que pode está havendo

ou o que eu devo fazer? Alguém já teve experiência de CodeIgniter com o PagSeguro?

 

Mais uma dúvida: quando o cliente clica no botão de finalizar e é direcionado ao pagseguro,

seleciona boleto como modo de pagamento, imprime o boleto, e é redirecionado à url de retorno, esse primeiro

redirecionamento gera algum POST?

 

Obrigado pela vossa atenção, espero que possam me ajudar, pois o cliente já está pressionando para

entregarmos o projeto =S

 

Atenciosamente,

 

Paulo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não está dando certo, mas está recebendo algum erro?

 

Quanto a outra pergunta, se gera um post, quer saber se gera para quem? Para você? Claro que não. O único post envolvido é o que você passar para o pagseguro. Você só irá receber um post deles no retorno automático.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não está dando certo, mas está recebendo algum erro?

 

Quanto a outra pergunta, se gera um post, quer saber se gera para quem? Para você? Claro que não. O único post envolvido é o que você passar para o pagseguro. Você só irá receber um post deles no retorno automático.

 

Não está aparecendo nenhuma mensagem de erro, mas no retorno automático não deveria retornar dados para que eu possa

salvar informações no Banco de Dados?

 

E sobre a outro pergunta, é se esse primeiro retorno após o pagamento, quando o pagante é redirecionado em X segundos, gera algum POST

ou algum retorno de dados.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim, no retorno automático é lhe passado um post sim.

 

Se não está conseguindo receber esses dados deve ter alguma coisa errado na sua página de retorno.

Poste aqui o código, tento procurar algum possível erro.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Paulo, você esta fazendo de qual forma o retorno automático ?

 

1. Utilizando a biblioteca da Visie.

2. Utilizando implementação proposta pelo PagSeguro.

 

Qual das duas forma está utilizando ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Paulo, você esta fazendo de qual forma o retorno automático ?

 

1. Utilizando a biblioteca da Visie.

2. Utilizando implementação proposta pelo PagSeguro.

 

Qual das duas forma está utilizando ?

 

Eu tentei usar a biblioteca da Visie, mas sem sucesso...

 

Eu estou usando o seguinte código:

 

// RECEBE O POST ENVIADO PELA PagSeguro E ADICIONA OS VALORES PARA VALIDACAO DOS DADOS
        $PagSeguro = 'Comando=validar';
        $PagSeguro .= '&Token=8C2EAC2450444BDD4C83EC14E89E2DF1'; // Insira aqui o código do Token gerado no PagSeguro
        $Cabecalho = ""; // Coloque um título
        
        foreach ($_POST as $key => $value)
        {
         $value = urlencode(stripslashes($value));
         $PagSeguro .= "&$key=$value";
        }
        echo $PagSeguro;
        
        if (function_exists('curl_exec'))
        {
         //Prefira utilizar a funcao CURL do PHP
         //Leia mais sobre CURL em: http://us3.php.net/curl
         $curl = true;
        }
        elseif ( (PHP_VERSION >= 4.3) && ($fp = @fsockopen ('ssl://pagseguro.uol.com.br', 443, $errno, $errstr, 30)) )
        {
         $fsocket = true;
        }
        elseif ($fp = @fsockopen('pagseguro.uol.com.br', 80, $errno, $errstr, 30))
        {
         $fsocket = true;
        }
        
        // ENVIA DE VOLTA PARA A PagSeguro OS DADOS PARA VALIDAÇÃO
        if ($curl == true)
        {
         $ch = curl_init();
        
         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, true);
         curl_setopt($ch, CURLOPT_HEADER, false);
         curl_setopt($ch, CURLOPT_TIMEOUT, 30);
         curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
        
          curl_setopt($ch, CURLOPT_URL, 'https://pagseguro.uol.com.br/Security/NPI/Default.aspx');
          $resp = curl_exec($ch);
        
         curl_close($ch);
         $confirma = (strcmp ($resp, "VERIFICADO") == 0);
        }
        elseif ($fsocket == true)
        {
         $Cabecalho  = "POST /Security/NPI/Default.aspx HTTP/1.0\r\n";
         $Cabecalho .= "Content-Type: application/x-www-form-urlencoded\r\n";
         $Cabecalho .= "Content-Length: " . strlen($PagSeguro) . "\r\n\r\n";
        
         if ($fp || $errno>0)
         {
            fputs ($fp, $Cabecalho . $PagSeguro);
            $confirma = false;
            $resp = '';
            while (!feof($fp))
            {
               $res = @fgets ($fp, 1024);
               $resp .= $res;
               // Verifica se o status da transação está VERIFICADO
               if (strcmp ($resp, "VERIFICADO") == 0)
               {
                  $confirma=true;
                  break;
               }
            }
            fclose ($fp);
         }
         else
         {
            echo "$errstr ($errno)<br />\n";
            // ERRO HTTP
         }
        }
        
        
        if ($confirma)
        {
         // RECEBE OS DADOS ENVIADOS PELA PagSeguro E ARMAZENA EM VARIAVEIS
         //Selecione aqui todos os parametros enviados pela PagSeguro
         $VendedorEmail  = $_POST['VendedorEmail'];
         $TransacaoID = $_POST['TransacaoID'];
         $Referencia = $_POST['Referencia'];
         $TipoFrete = $_POST['TipoFrete'];
         $ValorFrete = $_POST['ValorFrete'];
         $Anotacao = $_POST['Anotacao'];
         $DataTransacao = $_POST['DataTransacao'];
         $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'];
        
         $NumItens = $_POST['NumItens'];
        
         $ProdID = $_POST['ProdID_1'];
         $ProdDescricao = $_POST['ProdDescricao_1'];
         $ProdValor = $_POST['ProdValor_1'];
         $ProdQuantidade = $_POST['ProdQuantidade_1'];
         $ProdFrete = $_POST['ProdFrete_1'];
         $ProdExtras = $_POST['ProdExtras_1'];
        
        
        //    Pegando o IP do usuário
        $ip = $_SERVER['REMOTE_ADDR']; // pegando o endereço remoto 
        $forward = $_SERVER['HTTP_X_FORWARDED_FOR'];  // pegando o endereço que foi repassado (se houver) 
        $ip=( (($ip=='unknown' || $ip=='201.6.24.158') && ( isset($foward) && $forward!='unknown'))?$forward:$ip);
        
        $datahora = date("Y-m-d H:i:s");
        $data = date("Y-m-d");
        $hora = date("H:i:s");
        
        $cadastro = $this->Pagseguro_model->executeQuery("INSERT into PagSeguroTransacoes (TransacaoID, VendedorEmail, TipoFrete, ValorFrete, Anotacao, TipoPagamento, Referencia, StatusTransacao, CliNome, CliEmail, CliEndereco, CliNumero, CliComplemento, CliBairro, CliCidade, CliEstado, CliCEP, CliTelefone, NumItens, ProdID, ProdDescricao, ProdValor, ProdQuantidade, ProdFrete, ProdExtras, ip, datahora, data, hora) VALUES ('$TransacaoID','$VendedorEmail','$TipoFrete','$ValorFrete','$Anotacao','$TipoPagamento','$Referencia','$StatusTransacao','$CliNome','$CliEmail','$CliEndereco','$CliNumero','$CliComplemento','$CliBairro','$CliCidade','$CliEstado','$CliCEP','$CliTelefone','$NumItens','$ProdID','$ProdDescricao','$ProdValor','$ProdQuantidade','$ProdFrete','$ProdExtras','$ip','$datahora','$data','$hora')");
        
        }else{
         if (strcmp ($resp, "FALSO") == 0) {
          // LOG para investigação manual
         }
        }
        $this->load->view('retpagamento');

Essa função se chama retorno, dentro do controlador pagamento... Como estou usando o codeigniter, configurei a url do retorno automático para "www.meusite.com.br/index.php/pagamento/retorno"

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Paulo, era justamente oque ia te falar, por algum motivo que ainda não descobri, a biblioteca da visie não funciona no CI.

 

Por isso eu utilizo um código que o próprio pagseguro disponibiliza para integração com PHP.

 

Eu uso esse código aqui. É o disponibilizado pelo pagseguro, eu apenas removi as outras opções e deixei só a de CURL.

 


		if (empty($_POST)) {
			redirect('retorno/pagina');
		}

		function tep_not_null($value) {
			if (is_array($value)) {
				if (sizeof($value) > 0) {
					return true;
				} else {
					return false;
				}
			} else {
				if (($value != '') && ($value != 'NULL') && (strlen(trim($value)) > 0)) {
					return true;
				} else {
					return false;
				}
			}
		}
		
		// RECEBE O POST ENVIADO PELA PagSeguro E ADICIONA OS VALORES PARA VALIDAÇÃO DOS DADOS
		$PagSeguro = 'Comando=validar';
		$PagSeguro .= '&Token=SEU TOKEN';
		$Cabecalho = "";
		
		foreach ($_POST as $key => $value)
		{
		 $value = urlencode(stripslashes($value));
		 $PagSeguro .= "&$key=$value";
		}
		
		if (function_exists('curl_exec'))
		{
		 //Prefira utilizar a função CURL do PHP
		 //Leia mais sobre CURL em: http://us3.php.net/curl
		 $curl = true;
		}

		// ENVIA DE VOLTA PARA A PagSeguro OS DADOS PARA VALIDAÇÃO
		if ($curl == true)
		{
		 $ch = curl_init();
		
		 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, true);
		 curl_setopt($ch, CURLOPT_HEADER, false);
		 curl_setopt($ch, CURLOPT_TIMEOUT, 30);
		 curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
		
		 $resp = curl_exec($ch);
		 if (!tep_not_null($resp))
		 {
		    curl_setopt($ch, CURLOPT_URL, 'https://pagseguro.uol.com.br/Security/NPI/Default.aspx');
		    $resp = curl_exec($ch);
		 }
		
		 curl_close($ch);
		 $confirma = (strcmp ($resp, "VERIFICADO") == 0);
		}
		
		
		if ($confirma) {
			 //Selecione aqui todos os parâmetros enviados pela PagSeguro
			 $TransacaoID = $_POST['TransacaoID'];
			 $Referencia = $_POST['Referencia'];
			 $StatusTransacao = $_POST['StatusTransacao'];
			 $CliNome = $_POST['CliNome'];
			 $NumItens = $_POST['NumItens'];
			 $CliEmail = $_POST['CliEmail'];
			 $CliEndereco = $_POST['CliEndereco'];
			 $CliNumero = $_POST['CliNumero'];
			 $CliBairro = $_POST['CliBairro'];
			 $CliCidade = $_POST['CliCidade'];
			 $CliEstado = $_POST['CliEstado'];
			 $CliCEP = $_POST['CliCEP'];
			 $CliTelefone = $_POST['CliTelefone'];
			
			 // INSERE NO BANCO

			 
		}

Testa ai e veja se funciona.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Thiago, obrigado pela resposta, agradeça a ajuda... coloquei o código aqui e vou testar.

Mas me tire uma dúvida:

 

quando eu clico em pagar (o botão de finalizar compra) que é redirecionado pro pagseguro, eu escolho o boleto

como forma de pagamento, em qual momento é enviado o primeiro post para o site?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Thiago, obrigado pela resposta, agradeça a ajuda... coloquei o código aqui e vou testar.

Mas me tire uma dúvida:

 

quando eu clico em pagar (o botão de finalizar compra) que é redirecionado pro pagseguro, eu escolho o boleto

como forma de pagamento, em qual momento é enviado o primeiro post para o site?

 

Se não me engano, é feito o primeiro post, antes de o usuário ser redirecionado para o seu site.

Compartilhar este post


Link para o post
Compartilhar em outros sites

O primeiro e único post é feito quando o usuário é redirecionado para seu site. Após seleicionar o meio de pagamento e tudo mais no pagseguro.

 

Quer dizer que quando o status do pagamento é alterado, não é feito mais nenhum post pro site não?

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

O primeiro e único post é feito quando o usuário é redirecionado para seu site. Após seleicionar o meio de pagamento e tudo mais no pagseguro.

 

Quer dizer que quando o status do pagamento é alterado, não é feito mais nenhum post pro site não?

 

É sim!

Sempre que o status da transação mudar, o PagSeguro te envia um novo POST.

 

Mas e ai Paulo, o código do retorno deu certo?

 

E só corrigindo, Cláudio o POST é feito antes de o usuário ser redirecionado.

 

http://visie.com.br/pagseguro/retorno-automatico.php

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

 

O primeiro e único post é feito quando o usuário é redirecionado para seu site. Após seleicionar o meio de pagamento e tudo mais no pagseguro.

 

Quer dizer que quando o status do pagamento é alterado, não é feito mais nenhum post pro site não?

 

É sim!

Sempre que o status da transação mudar, o PagSeguro te envia um novo POST.

 

Mas e ai Paulo, o código do retorno deu certo?

 

E só corrigindo, Cláudio o POST é feito antes de o usuário ser redirecionado.

 

http://visie.com.br/...-automatico.php

 

Bom, eu testei o código, coloquei uma variável para receber todos os campos do post, como um grande texto, e salvar em uma tabela temporária só para ver os valores que estavam sendo retornados, e coloquei pra redirecionar para uma página única caso o post viesse vazio. Após o tempo do redirecionamento, fui parar na pagina do post vazio, quando fui ver no banco se havia salvo no BD os dados enviados no primeiro POST, o banco estava vazio... Tentei alterar o status da transação pelo admin para "Processando", mas não enviou nenhum POST ainda....

Alguém sabe o que pode estar acontecendo?

Meu site está hospedado no Locaweb, tem algum problema de firewall a ser liberado?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mas são milésimos de segundos antes, por isso disse que era no mesmo momento, rs.

E não havia pensado na hipótese de troca de meio de pagamento.

 

Claro que não salvou nada no banco. Você colocou um redirecionamento caso viessem vazios. Agora precisa saber porque está vazio. Pode postar essa parte do código para vermos como ficou?

 

Não, o fato de estar hopspedado na locaweb não influencia em nada.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mas são milésimos de segundos antes, por isso disse que era no mesmo momento, rs.

E não havia pensado na hipótese de troca de meio de pagamento.

 

Claro que não salvou nada no banco. Você colocou um redirecionamento caso viessem vazios. Agora precisa saber porque está vazio. Pode postar essa parte do código para vermos como ficou?

 

Não, o fato de estar hopspedado na locaweb não influencia em nada.

 

Segue o código completo:

 

function retorno() {
        if (empty($_POST)) {
                redirect('pagamentos/cgerenciar/'.$this->session->userdata('anunciante')->idAnunciante);
        }

        function tep_not_null($value) {
                if (is_array($value)) {
                        if (sizeof($value) > 0) {
                                return true;
                        } else {
                                return false;
                        }
                } else {
                        if (($value != '') && ($value != 'NULL') && (strlen(trim($value)) > 0)) {
                                return true;
                        } else {
                                return false;
                        }
                }
        }
        
        // RECEBE O POST ENVIADO PELA PagSeguro E ADICIONA OS VALORES PARA VALIDAÇÃO DOS DADOS
        $PagSeguro = 'Comando=validar';
        $PagSeguro .= '&Token=8C2EAC2450444BDD4C83EC14E89E2DF1';
        $Cabecalho = "";
        
        foreach ($_POST as $key => $value)
        {
         $value = urlencode(stripslashes($value));
         $PagSeguro .= "&$key=$value";
        }
        
        if (function_exists('curl_exec'))
        {
         //Prefira utilizar a função CURL do PHP
         //Leia mais sobre CURL em: http://us3.php.net/curl
         $curl = true;
        }

        // ENVIA DE VOLTA PARA A PagSeguro OS DADOS PARA VALIDAÇÃO
        if ($curl == true)
        {
         $ch = curl_init();
        
         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, true);
         curl_setopt($ch, CURLOPT_HEADER, false);
         curl_setopt($ch, CURLOPT_TIMEOUT, 30);
         curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
        
         $resp = curl_exec($ch);
         if (!tep_not_null($resp))
         {
            curl_setopt($ch, CURLOPT_URL, 'https://pagseguro.uol.com.br/Security/NPI/Default.aspx');
            $resp = curl_exec($ch);
         }
        
         curl_close($ch);
         $confirma = (strcmp ($resp, "VERIFICADO") == 0);
        }
        
        
        if ($confirma) {
                 //Selecione aqui todos os parâmetros enviados pela PagSeguro
                 $TransacaoID = $_POST['TransacaoID'];
                 $Referencia = $_POST['Referencia'];
                 $StatusTransacao = $_POST['StatusTransacao'];
                 $CliNome = $_POST['CliNome'];
                 $NumItens = $_POST['NumItens'];
                 $CliEmail = $_POST['CliEmail'];
                 $CliEndereco = $_POST['CliEndereco'];
                 $CliNumero = $_POST['CliNumero'];
                 $CliBairro = $_POST['CliBairro'];
                 $CliCidade = $_POST['CliCidade'];
                 $CliEstado = $_POST['CliEstado'];
                 $CliCEP = $_POST['CliCEP'];
                 $CliTelefone = $_POST['CliTelefone'];
                 
                 $VendedorEmail  = $_POST['VendedorEmail'];
                 $TransacaoID = $_POST['TransacaoID'];
                 $Referencia = $_POST['Referencia'];
                 $TipoFrete = $_POST['TipoFrete'];
                 $ValorFrete = $_POST['ValorFrete'];
                 $Anotacao = $_POST['Anotacao'];
                 $DataTransacao = $_POST['DataTransacao'];
                 $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'];
                
                 // INSERE NO BANCO
                 $cadastro = $this->Pagseguro_model->executeQuery("INSERT into PagSeguroTransacoes (TransacaoID, VendedorEmail, TipoFrete, ValorFrete, Anotacao, TipoPagamento, Referencia, StatusTransacao, CliNome, CliEmail, CliEndereco, CliNumero, CliComplemento, CliBairro, CliCidade, CliEstado, CliCEP, CliTelefone, NumItens, ProdID, ProdDescricao, ProdValor, ProdQuantidade, ProdFrete, ProdExtras, ip, datahora, data, hora) VALUES ('$TransacaoID','$VendedorEmail','$TipoFrete','$ValorFrete','$Anotacao','$TipoPagamento','$Referencia','$StatusTransacao','$CliNome','$CliEmail','$CliEndereco','$CliNumero','$CliComplemento','$CliBairro','$CliCidade','$CliEstado','$CliCEP','$CliTelefone','$NumItens','$ProdID','$ProdDescricao','$ProdValor','$ProdQuantidade','$ProdFrete','$ProdExtras','$ip','$datahora','$data','$hora')");                 
        }
        $post_result = var_export($_POST, true);
        $this->Pagseguro_model->executeQuery("INSERT into temp (post_result) VALUES ('$post_result')");
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom, como disse antes, não entendo de PHP, mas a impressão que tive é que isso "$_POST" é normal que venha vazio. Sendo assim, sua condição sempre será verdadeira lá em cima e sempre vai redirecionar para outra página, evitando você de completar as outras atividades.

 

Já tentou tirar essa conferência para ver se funciona?

 

Ah, e outra coisa. Porque colocou todo esse código dentro de uma função? Não sei como está sua página, mas normalmente não há necessidade.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom, se o pagseguro tem que retornar dados, ele não deveria vir vazio...

E todo o código está dentro de uma função porque estou trabalhando com o codeigniter, e aquilo está em um controlador.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Até faz sentido, mas repare que antes de você enviar os dados para o pagseguro com o numero de seu token, nenhum valor lhe é passado. Então pode ser que venha vazio, ai você envia o token e ai sim ele te envia os parâmetros.

Tente tirar e faça o teste, na pior das hipóteses procuramos outra saída.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom dia!

 

Brother caso não tenha resolvido seu problema talvez lendo as informações do link abaixo possa te ajudar, pois estava tendo o mesmo problema aqui e acabei por resolver depois que li essas informações.

 

http://blogpagseguro...rno-automatico/

 

Eu já havia lido esse post e ele não me ajudou muito...

Mas eu descobri o problema... em todos os códigos que eu estava mexendo, ele só inseria no banco de dados se a resposta do pagseguro fosse VERIFICADO.

Acho que isso só acontece quando o pagamento é confirmado...

eu fiz uma outra verificação para inserir no banco de dados no momento que retornasse o primeiro post, e depois, quando o pagamento for verificado,

simplesmente alterar os dados do pagamento no BD.

Agora eu tenho uma dúvida... aquela variável $resp, no trecho:

// ENVIA DE VOLTA PARA A PagSeguro OS DADOS PARA VALIDAÇÃO
 if ($curl == true)
 {
 $ch = curl_init();
 
 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, true);
 curl_setopt($ch, CURLOPT_HEADER, false);
 curl_setopt($ch, CURLOPT_TIMEOUT, 30);
 curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
 
 $resp = curl_exec($ch);
 if (!tep_not_null($resp))
 {
 curl_setopt($ch, CURLOPT_URL, 'https://pagseguro.uol.com.br/Security/NPI/Default.aspx');
 $resp = curl_exec($ch);
 }
 
 curl_close($ch);
 $confirma = (strcmp ($resp, "VERIFICADO") == 0);
 }

pode assumir quais valores? Quando o status de um pagamento é alterado no pagseguro, é enviado algum outro POST para o site?

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.