michaeldouglas / laravel-pagseguro

Integração com o gateway de pagamento pagseguro, para utilização com o Laravel
358 stars 119 forks source link

Consulta transação #61

Closed josebispo closed 8 years ago

josebispo commented 8 years ago

Boa noite !

1- Ao passar o\ transaction_id que o pagseguro me retorna da transação concluida ou o código do $code = $information->getCode() ,gerado como atributo $code mesmo com as credenciais validas já testadas**, no ambiente sandbox;

     $credentials = PagSeguro::credentials()->get();
    $transaction = PagSeguro::transaction()->get($code, $credentials);
    $information = $transaction->getInformation();

Me retorna a mensagem abaixo: ## Undefined index: lasteventdate.

2- Tem alguma forma de consultar o status da minha transação apenas com o $information->getCode() exemplo: passar o code " 0F91067965659BA664BC5FB22DC137E2" e me retornar o status do pedido no pagseguro, observação: não posso consultar apenas no notification ou na url de retorno, preciso consultar em qualquer lugar ou qualquer hora no meu sistema .

"eu crio o pedido no meu sistema, e depois envio o usuário pro pagseguro $information->getLink() ,até então só tenho o código gerado para envio $information->getCode(), nessa hora gravo esse cógido no meu db porém depois preciso consultar usando ele, esse é meu problema, consultar apenas com o código gerado pra url de envio".

ATT;

José Bispo.

nunomazer commented 8 years ago

Você esta relatando duas questões diferentes ... O problema de lastEventDate eu abri o issue #62

Quanto à questão de chamar mais facilmente de vários pontos do seu sistema, crie uma classe com um método estático que receba o código da transação e dentro deste método coloque toda a lógica de consulta, porém retorne somente o status como você deseja.

josebispo commented 8 years ago

Ola @nunomazer o incidente 1 é diretamente ligado ao 2 pois não consigo consultar com o _lasteventdate error _, esse metódo estático que você falou eu já possuo, eu já consigo pegar o transaction_id do pagseguro sem problemas, o problema é que a forma de consulta que é o problema 1 citado anteriormente. ou seja como consultar sem ser usando a consulta padrão abaixo ?

$credentials = PagSeguro::credentials()->get();
$transaction = PagSeguro::transaction()->get($code, $credentials);
$information = $transaction->getInformation();

que é a única forma documentada.

nunomazer commented 8 years ago

A princípio somente se usar as chamadas diretas da api do pagseguro

isaquesb commented 8 years ago

@josebispo,

Dessa forma que esta na documentação deveria ser suficiente para você consultar sempre que necessário. Vou verificar ainda hoje o porque desse problema com o case do lastEventDate.

josebispo commented 8 years ago

@isaquesb Boa tarde !

Cara vou usar a API pra php pura do pagseguro mesmo, mas obrigado, se conseguirem verificar o pq não esta funcionando como na issue #62 eu agradeceria.

isaquesb commented 8 years ago

Pessoal, não esqueci do problema. Vou ver entre hoje e amanhã (sábado), que tenho mais tempo.

isaquesb commented 8 years ago

@josebispo e @nunomazer ,

Fiz agora a pouco as correções e já deixei um merge request pronto com build passando. Só preciso fazer o teste real mesmo numa aplicação antes de aceitar. Ademir, sua análise me poupou bastante tempo procurando o problema. Vlw!

Coloquei a solução baseando nas classes de contrução dos objetos da transação, em vez de alterar os factorys dos objetos individuais. O problema estava na intepretação do parser do XML, que quando tem um item só (seja o que for), é tratado como chave-valor do item pai e não faz com que o item pai seja um array com filhos. O conceito é certo mas não nessa parte da aplicação.

Resumindo, amanhã faço os testes de aplicação e segunda esta no ar a correção, encerrando essa Issue.

Obrigado a todos.

nunomazer commented 8 years ago

Valeu @isaquesb, realmente não tive tempo de estudar toda a infra do pacote, por isso mesmo achei que deveria ser revisado por vocês.

Obrigado pelo empenho, agora, você mesmo exclui o pull request que fiz ou eu excluo?

isaquesb commented 8 years ago

@nunomazer e @josebispo

Problema resolvido e já na master. Já fechei o Merge.

Obrigado.