pagseguro / pagseguro-sdk-java

Biblioteca de integração JAVA.
79 stars 63 forks source link

Permitir consultar transações abandonadas #61

Open lucasbasquerotto opened 5 years ago

lucasbasquerotto commented 5 years ago

Comportamento esperado

Quando for feita a consulta de uma notificação relativa a uma transação com o status ABANDONED, não emitir o erro genérico PagSeguroInternalServerException, mas ao invés disso retornar algo informando que a transação foi abandonada.

Pode ser até mesmo uma exceção, desde que para esse caso específico, como por exemplo PagSeguroAbandonedTransactionException, para que eu possa tratar esses erros.

Comportamento atual

De cerca de 3 semanas para cá estou recebendo diversas exceções de PagSeguroInternalServerException, então criei uma thread no fórum da comunidade e disseram que o erro foi the requested operation does not support the requested transaction because it's status is: ABANDONED, mas como o SDK não está tratando esses casos não tenho como tratar no meu código.

Ambiente (produção, sandbox)

Produção (mas deve ocorrer também em sandbox, se eu conseguir gerar uma transação abandonada).

Passos para reproduzir o bug

Não sei o que causa as transações ficarem abandonadas no PagSeguro, e isso não ocorria antes (já uso há anos o PagSeguro, creio que tenha sido algo novo). Mas se uma transação estiver abandonada e o PagSeguro enviar a notificação, ocorre o erro citado.

Descrição Detalhada

Ver detalhes do problema em:

https://comunidade.pagseguro.uol.com.br/hc/pt-br/community/posts/360029546393-Consulta-por-c%C3%B3digo-de-notifica%C3%A7%C3%A3o-Internal-Server-Error

Estou usando a versão 4.3.2 do SDK do Java:

compile (group: 'br.com.uol.pagseguro', name: 'pagseguro-api', version: '4.3.2')

Possível solução

Lançar uma (nova) exceção específica para esse caso PagSeguroAbandonedTransactionException para que eu possa tratar.