1. Implementando a integracaoA API do PagSeguro e simples e facil de usar e dentro do zip que se encontra para download, existe uma pasta com quatro sources de exemplos.Esses exemplos contemplam tudo que e preciso para usar o PagSeguro e o maior trabalho mesmo e criar suas rotinas para executar o pagamento a partir de sua venda.Para todas as rotinas da API, sera preciso utilizar o email cadastrado no PagSeguro e o token de seguranca que eu comentei no post anterior.1.1 Criando o PagamentoAo abrir o CreatePayment.java voce percebera que realmente e simples realizar este procedimento e o maior trabalho vai ser adequar seu negocio pois, o PagSeguro pede informacoes que talvez voce nao tenha ou nao esteja em um formato aceito.O PagSeguro fez uma serie de validacoes dos dados enviados e vai lancar mensagens de erro indicando o que nao passou na validacao.Por causa destas validacoes, eu tive de modificar meu sistema. Um dos pontos mesmo que ele acusa problema e com o nome de pessoa, que possui um tamanho minimo.Por causa destas validacoes e bom realizar testes com os dados minimos obrigatorios em seu sistema e verificar se algum dado deve se tornar requerido.A lista com todas as mensagens de erro pode ser vista neste link: https://pagseguro.uol.com.br/v2/guia-de-integracao/codigos-de-erro.html#rmcl.Para relacionar uma venda sua com uma transacao do PagSeguro existe o metodo: paymentRequest.setReference("REF1234");Isto e muito importante pois e com esta informacao que voce conseguira descobrir para qual venda aquele pagamento se relaciona. E um campo string e eu recomendo utilizar o proprio Id da venda.1.2 Processando as notificacoesComo eu comentei no outro texto, e preciso ter uma pagina em seu sistema que sera acessada pelo PagSeguro. Esta pagina recebera codigos de notificacao e a partir destes codigos se obtem os dados da transacao.O codigo da notificacao e passado com o parametro notificationCode e depois de capturar este valor da requisicao devera ser usado o codigo da classe ReceiveNotifications.java.Com este codigo voce consegue obter o ID da transacao e status e deve obter o resto das informacoes acessando os dados da transacao usando o codigo da classe SearchTransactionByCode.java.Na pratica sua venda, devera receber um status de Aguardando Pagamento e este status sera modificado pela rotina que processa as notificacoes.Mais informacoes sobre todo o processo podem ser obtidas aqui: https://pagseguro.uol.com.br/v2/guia-de-integracao/tutorial-da-biblioteca-pagseguro-em-java.html.2 Armazenando os dadosEu decidi armazenar todos os dados das transacoes do PagSeguro para minhas vendas. Deste modo eu nao preciso acessar o PagSeguro via API todas as vezes que precisar de alguma informacao.Isto tambem fica pratico pelo fluxo do PagSeguro. Como o sistema e notificado quando existe insercao/atualizacao nas transacoes neste momento alem de atualizar o status de sua venda, eu recomendo que voce grave todos os dados desta transacao.Nao sao muitos dados e abaixo pode ser visto o DER do schema pag_seguro que eu criei.Criei as tabelas em ingles, porque mesmo o PagSeguro sendo usado apenas no Brasil, sua API e toda em ingles.As tabelas tb_transaction_status, tb_payment_method_code e tb_payment_method_type sao tabelas com os codigos que o PagSeguro utiliza. Populei elas com base nos dados da documentacao e servem para visualizacao mais facil do