Closed matheusgnreis closed 3 years ago
Na real não têm relação uma coisa com a outra não. No create transaction não consome a nossa API, só a do MP, ao que parece aí ela retornou 500 (esteve indisponível) nessa requisição.
O update tokens só tem relação com atualização de status, você olhou no Firestore a data de atualização do token da loja que não teve o pedido atualizado como deveria?
Sendo mais específico, se bater o olho no código vai ver que esse log do erro 500 está no catch dessa request aqui https://github.com/ecomplus/app-mercadopago/blob/master/functions/routes/ecom/modules/create-transaction.js#L119
Ou seja, nessa ocasião tentamos criar o payment no MP mas ele retornou um erro de servidor (5xx).
Acredito que isso não seja frequente, chegou a pesquisar nos logs aí? Deve ter sido só uma instabilidade pontual da API deles.
Os tokens paracem atualizados, dar esse hang up aí no update tokens vez ou outra não vai atrapalhar na verdade, porque depois ele é executado de novo. Sobre ter informado que não tinha encontrado, como está isso no log exatamente? Qual é o ID da loja e do pedido (ou código da transação no MP)?
https://github.com/ecomplus/app-mercadopago/blob/master/functions/routes/ecom/modules/create-transaction.js#L119 Eu até li, mas assim vai que não é o que estava achando, apesar de estar claro.
Ou seja, nessa ocasião tentamos criar o payment no MP mas ele retornou um erro de servidor (5xx)
Poucas vezes.
O update tokens só tem relação com atualização de status, você olhou no Firestore a data de atualização do token da loja que não teve o pedido atualizado como deveria?
Acho que o problema não seria de autenticação, porque na hora de mostrar not found, não mostra antes problema de autenticação. Aparentemente nem entrou aqui https://github.com/ecomplus/app-mercadopago/blob/master/functions/routes/mercadopago/notifications.js#L20, se tivesse entrado e dado erro de autenticação, teríamos isso aqui https://github.com/ecomplus/app-mercadopago/blob/master/functions/routes/mercadopago/notifications.js#L39 provavelmente com uma mensagem de não autenticado.
Acabou de dar por exemplo:
Error: Payment 16453673506 not found
Ontem deu:
Error: Payment 16447337537 not found
Como não tem o store id ali, não sei de onde que é
Achei que você tinha pesquisado pelo código da transação dos tais pedidos que não foram atualizados, e nesse caso saberia a loja e o ID do produto...
É comum o MP (e os outros) também enviarem notificações de transações não sucedidas ou até feitas de outra forma e não relacionadas a plataforma, nada de errado com isso, nesse caso só é ignorado mesmo. Não olhei no código mas esse not found nem parece ser batendo na Store API, na verdade o código da transação do MP é salvo no Firestore associado ao ID da loja e pedido, se não for encontrado a notificação é ignorada.
De qualquer forma não tenho certeza se esses pagamentos em específicos deveriam estar salvos ou deveriam ser ignorados, só observando o log você não vai ter como saber isso nem chegar a conclusão sobre os pedidos que não foram atualizados, acho que vai ter que procurar pelo ID do pedido ou código da transação mesmo.
@leomp12 essa semana tive ocorrência de pedidos que não recebeu o status, fui olhar e tinha informado que não tinha encontrado, desde então estou monitorando e apareceu mais aqui no log. Além disso apareceram erro de update tokens conforme abaixo
Erro de criar pedido, ai não sei se o erro 500 é referente ao erro da nossa aplicação que está ocorrendo nesse update tokens ou do mp em si