[PROMOÇÃO] Assine com + 30% de desconto ANUAL MENSAL (últimas horas)
Wagner Momesso
Criador Wagner Momesso 30/10/2020

Estou usando a api do mercado pago, e tudo funciona perfeitamente, porém para eu receber notificações do webhooks precisei informar um link para que o mercado pago me envie essas notificações e criei essa rota.

Route::get('tg/{tg}', 'MP\MercadoPagoTgController@getTG');

no mercado pago informei esse link

https://meusite.com/tg/

porém o mercado pago envia a notificação para meu link dessa forma.

https://meusite.com/tg/?code=TG-555566655-8995=id=525=

Mas o `?` antes do code=TG está dando erro 404.

Se eu retirar manualmente o `?` a rota é encontrada e tudo funciona.

 

tem como usar regex ou outra forma para ele receber as notificações sem falhas?

 

Route::get('tg/{tg}', 'MP\MercadoPagoTgController@getTG')->where('tg', regex ??????);

 

 

 

 

 

Manager Carlos Ferreira 30/10/2020

Olá, Wagner!
Tudo bem?

O problema não está no "?", mas sim provavelmente no verbo http (ou não).

Porque quando envia query params precisa usar o "?" para indicar os parâmetros da URL.

---------

A sua rota está errada também, se a URL de webhook é:
https://meusite.com/tg/?code=TG-555566655-8995=id=525=

A rota não deve declarar os querys params, deve ser assim:
Route::get('/tg', 'MP\MercadoPagoTgController@getTG');

E com o Request do Laravel você continua conseguindo pegar os querys params normalmente:
$request->code

Carlos Ferreira
Criador Wagner Momesso 30/10/2020

Obrigado Carlos, era isso mesmo, muito obrigado.

Wagner Momesso
Criador Wagner Momesso 30/10/2020

Carlos deu certo de recuperar os dados, porém não consigo salvar no banco está dando erro de 

SQLSTATE[HY000]: General error: 1364 Field 'access_token' doesn't have a default value

Alterei na middleware VerifyCsrfToken o atributo except

protected $except = [
'tg/*',
];

mas mesmo assim continua dando o erro.

Wagner Momesso
Criador Wagner Momesso 30/10/2020

Desculpa depois q percebi q estava faltando eu passar a variavel access_token.

Wagner Momesso
Manager Carlos Ferreira 30/10/2020

Tudo certo então, posso finalizar o chamado?

Qualquer dúvida abre um novo ticket.

Carlos Ferreira
Sabe a Solução? Ajude a resolver!

Precisa estar logado para conseguir responder a este ticket!

Clique Aqui Para Entrar!