O PagSeguro é um dos meios de pagamento pela internet mais conhecidos no Brasil. Isto se deve ao fato de o mesmo estar presente em inúmeros sites de compras atualmente e por sua divulgação através de diversos canais de mídia.
O pagamento de uma compra realizada em um site qualquer passa por alguns estágios até que seja concluída e eles são basicamente:
- Checkout - é onde o site em que você está comprando agrupa todos os produtos e/ou serviços que você selecionou enquanto "passeava" pela loja.
- Requisição - é onde após a loja virtual ter reunido os itens, processado valores e taxas, solicita uma transação ao PagSeguro. Isto é feita normalmente sem conhecimento do comprador e, o PagSeguro validando todos os dados enviados, retorna à loja uma URI para tal requisição.
- Encaminhamento - é quando a loja obtém a URI para direcionar o comprador e o envia para a mesma. Neste ponto comumente você chega ao PagSeguro em uma tela contendo os dados de sua compra e do titular da conta que receberá o dinheiro.
- Pagamento - é aqui que você, comprador, informa seus dados pessoais bem como de seu cartão de crédito. Um detalhe importante sobre este ponto é que os seus dados pessoais PODEM vir já preenchidos. Isto deve-se ao fato de a loja ter enviado seus dados cadastrais. A informação de qualquer dado nesta etapa é realizada em ambiente seguro do PagSeguro.
- Retorno - ocorre quando você finaliza seu pagamento no PagSeguro. Este retorno é opcional ou seja, nem todas as lojas que você compra realizam o retorno para seu ambiente, algumas PODEM permanecer no PagSeguro. Isto deve-se ao fato de que não são em todas as ocasiões que a loja precisa obter o status do pagamento. O retorno (caso configurado pela loja) comumente se dá em 20 segundos mas você pode clicar no botão "Retornar à loja" que o PagSeguro exibe após processada a transação.
- Notificação - evento que o PagSeguro envia à loja toda vez que:
- O comprador efetua o pagamento via cartão de crédito, boleto ou outra forma de sua escolha;
- O dono da conta no PagSeguro altera o status de uma compra;
- O prazo de pagamento da compra expira
Ao receber uma notificação a loja deve verificar através do código enviado pelo PagSeguro e tratar a compra conforme a referência recebida por tal notificação. As notificações assim como o retorno à loja são opcionais.
É bem comum precisarmos validar algumas transações e notificações para auditoria, principalmente quando a liberação ou envio do produto adquirido se dá automaticamente ao ser pago pelo comprador. Visto esta necessidade desenvolvi uma ferramenta de consulta de transações e notificações do PagSeguro, uma vez que nem sempre o desenvolvedor possui acesso ao painel administrativo para poder acompanhar a situação dos pagamentos. Ressalto que o ideal é ter log de tudo, para que possa consultar sempre que necessário, mas em casos em que o log é inexistente, esta ferramenta será bem útil.
A ferramenta está disponível para qualquer usuário que possua o email e token da conta que está inegrando e seu uso é e sempre será gratuíto.
UPDATE
Eu havia criado um plugin para o CakePHP 2 mas ele foi descontinuado pelos motivos que cito
aqui. Como este é um dos meus posts mais lidos e a ferramenta de consulta é bastante acessada, mas está defasada, vou providenciar a mesma ferramenta de consulta novamente
Importante
NENHUM dado de seu cliente e muito menos do comprador ficam armazenados na ferramenta de consulta. Apenas possibilitei a permanência do email e token em sessão/query_string para caso existir a necessidade de várias consultas seguidas.
Para utilizar acesse aqui (link quebrado, corrigirei nos próximos dias)
O código-fonte está no github e qualquer um pode utilizá-lo para uso pessoal.