Histórico

EXIBINDO CONVERSAS RECENTES:

Data: 09/05/2024
Canal: pix
Avatar discord do usuario alissonmaciel_32335

alissonmaciel_32335

Ver no Discord

ta dificil aqui viu

Avatar discord do usuario alissonmaciel_32335

alissonmaciel_32335

Ver no Discord

E estou recebendo este erro:
Chave PIX: string(36) "5cd9a718-ce6d-4564-bc10-c5b03e7a998f"
Response do método webhook: string(172) "{"nome":"json_invalido","mensagem":"Valores ou tipos de campo inválidos","erros":[{"chave":"required","caminho":"","mensagem":"deve ter a propriedade obrigatória body"}]}"

Avatar discord do usuario alissonmaciel_32335

alissonmaciel_32335

Ver RespostasVer no Discord

Estou executando este método:
public function webhook() {
$body = '{
"webhookUrl": "https://julioerp.agenciaweblab.com.br/webhook.php"
}';
try {
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $this->config['rotas'] . '/v2/webhook/' . $this->config['chave_pix']);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'PUT');
curl_setopt($ch, CURLOPT_POSTFIELDS, $body);
curl_setopt($ch, CURLOPT_SSLCERT, $this->config["certificado"]);
curl_setopt($ch, CURLOPT_SSLCERTPASSWD, '');
$headers = array();
$headers[] = 'Authorization: Bearer ' . $this->access_token;
$headers[] = 'X-Skip-Mtls-Checking: true';
$headers[] = 'Content-Type: application/x-www-form-urlencoded';
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$result = curl_exec($ch);

echo '

';
var_dump($this->config['chave_pix'], $result);
echo '
';

if (curl_errno($ch)) {
echo 'Error:' . curl_error($ch);
}
curl_close($ch);
return $result;
} catch (Exception $e) {
echo '
';
var_dump($e->getCode(), $e->getFile(), $e->getMessage());
echo '
';
}
}

Avatar discord do usuario alissonmaciel_32335

alissonmaciel_32335

Ver no Discord

OK, vou verificar, qualquer dúvida eu retorno aqui!

Avatar discord do usuario guilherme_efi

guilherme_efi

Ver RespostasVer no Discord

A ideia é esta mesmo, @alissonmaciel_32335. Você irá utilizar este endpoint PUT/v2/webhook/:chave para associar sua URL de notificação a sua chave Pix. E então as cobranças Pix que tiverem um txid e sua chave Pix, nós iremos enviar a notificação para a URL registrada. Essa configuração pode ser feita uma única vez.

Pontuando que para registrar sua URL de notificação, é importante que seu servidor tenha algumas configurações para atender a comunicação com mTLS para segurança da sua aplicação. Você encontra mais detalhes em nossa documentação e nos vídeos a seguir: https://dev.gerencianet.com.br/docs/api-pix-endpoints#webhooks
https://youtu.be/hdyUHzNwVLY?list=PLRqvcUTH2VsWufBmzOdTVeLEOTGrPNoiu
https://youtu.be/XB9bcZFTV3M?list=PLRqvcUTH2VsWufBmzOdTVeLEOTGrPNoiu

Avatar discord do usuario rubenskuhl

rubenskuhl

Ver RespostasVer no Discord

Essa chamada você só precisa fazer uma vez para sua chave Pix, e não a cada cobrança.
E na URL falta o "?ignorar=" no final, pois a URL é depois sufixada com /pix.

Avatar discord do usuario alissonmaciel_32335

alissonmaciel_32335

Ver RespostasVer no Discord

na requisição do webhook to fazendo assim, está correto? e eu chamo esse metodo no meu construct

imagem enviada na mensagem pelo usuario alissonmaciel_32335

Avatar discord do usuario rubenskuhl

rubenskuhl

Ver RespostasVer no Discord

Uma questão de nomenclatura: isso não é o retorno do Pix mas da criação da cobrança.

A chave que é comum a todos os métodos do Pix é o txid.

Avatar discord do usuario alissonmaciel_32335

alissonmaciel_32335

Ver RespostasVer no Discord

qual a outra solução que vc me indica sabendo que no retorno do pix eu só recebo esses dados?

imagem enviada na mensagem pelo usuario alissonmaciel_32335

Avatar discord do usuario rubenskuhl

rubenskuhl

Ver RespostasVer no Discord

Depende da sua estratégia de descobrir que foi pago... webhook é a melhor alternativa, mas não a única.

Avatar discord do usuario alissonmaciel_32335

alissonmaciel_32335

Ver no Discord

e terei que salvar os dados no banco de dados?

Avatar discord do usuario alissonmaciel_32335

alissonmaciel_32335

Ver no Discord

pra receber os parametros

Avatar discord do usuario alissonmaciel_32335

alissonmaciel_32335

Ver RespostasVer no Discord

nesse caso terei que criar um arquivo webhook.php

Avatar discord do usuario alissonmaciel_32335

alissonmaciel_32335

Ver no Discord

poxa eu nao entendi muito sobre o webhook

Avatar discord do usuario rubenskuhl

rubenskuhl

Ver RespostasVer no Discord

webhook não precisa recuperar, o acionamento do webhook já vai te mandar os dados.
Mas webhook, GET de /cob (pós-pagamento) e GET de /pix todos tem os mesmos dados.

Avatar discord do usuario alissonmaciel_32335

alissonmaciel_32335

Ver RespostasVer no Discord

nesse caso ai eu tenho que recuperar o webhook atraves do txid? e irá me retornar esses dados?

Avatar discord do usuario rubenskuhl

rubenskuhl

Ver RespostasVer no Discord

Nenhum, pq só dá para devolver algo depois de ser pago.

Avatar discord do usuario alissonmaciel_32335

alissonmaciel_32335

Ver RespostasVer no Discord

no retorno quando gero o pix, eu só recebo esses dados, quais deles eu utilizo para realizar a solicitação de devolução?

imagem enviada na mensagem pelo usuario alissonmaciel_32335

Avatar discord do usuario rubenskuhl

rubenskuhl

Ver no Discord

É o primeiro, o endToEndId.

Avatar discord do usuario rubenskuhl

rubenskuhl

Ver no Discord

{
"endToEndId": "E12345678202009091221abcdef12345",
"txid": "cd1fe328c875481285a6f233ae41b662",
"valor": "100.00",
"horario": "2020-09-10T13:03:33.902Z",
"infoPagador": "Reforma da casa",
"devolucoes": [
{
"id": "000AAA111",
"rtrId": "D12345678202009091000abcde123456",
"valor": "11.00",
"horario": {
"solicitacao": "2020-09-10T13:03:33.902Z"
},
"status": "EM_PROCESSAMENTO"
}
]
}