Ir para conteúdo

Arquivado

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

Carcleo

Entendendo o Retorno automático do PagSeguro

Recommended Posts

Olá pessoal, estou tendo problema em entender o retorno automático do PagSeguro.

Estou seguindo o seguinte tutorial:

http://blogpagseguro.com.br/2012/05/tutorial-pagseguro-entendendo-o-retorno-automatico/

Minha dúvida é a seguinte: Nesse tutorial diz que o pagseguro, assim que o cliente efetua o pagamento no checkout, ele é redirecionado ao site e junto (Não Sei como) é enviado um $_POST como os dados da transação.

Pede também para, ao receber esse $_POST, enviar de volta via cUrl o $_POST para veerificação junto ao PagSeguro que responderá se é válida ou inválida esse envio do $_POST.

Até aí sem problemas. Mas então surge a dúvida: Esse retorno :

    if ($result == "VERIFICADO") {
        //O post foi validado pelo PagSeguro.
        Update_Transacao($transacaoID,$referencia,$TipoPagamento,$dataTransacao,$status);
        
        
    } else if ($result == "FALSO") {
        //O post não foi validado pelo PagSeguro.
    } else {
        //Erro na integração com o PagSeguro.
    }

é entregue pela XML ou é enviado um $_GET de forma diferente depois?

Porque se for enviado por XML, logo, o script nunca chegará a entrar no bloco abaixo:

} 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.
    ?>
    <h3>Obrigado por efetuar a compra.</h3>
    <?php
}

Pois ao entrar no bloco

if (count($_POST) > 0) {

Logo é feita a chamada à API para validar o $_POST como abaixo:

// POST recebido, indica que é a requisição do NPI.
$npi = new PagSeguroNpi();
$result = $npi->notificationPost();

Estou certo?

Se estou, a validação de deu certo ou não, deveria ficar dentro de:

    if ($result == "VERIFICADO") {
        //O post foi validado pelo PagSeguro.
        Update_Transacao($transacaoID,$referencia,$TipoPagamento,$dataTransacao,$status);
        
        
    } else if ($result == "FALSO") {
        //O post não foi validado pelo PagSeguro.
    } else {
        //Erro na integração com o PagSeguro.
    }

e não de:

} 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.
    ?>
    <h3>Obrigado por efetuar a compra.</h3>
    <?php
}
Estou meio confuso.

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.