Histórico de mensagens sobre Pix em pix

EXIBINDO CONVERSAS RECENTES:

Texto: Pix
Data: 09/05/2024
Canal: pix
Avatar discord do usuario freitas_73582

freitas_73582

mas o pix feito via cobrança api não tem EndToEndId

Avatar discord do usuario freitas_73582

freitas_73582

Ver Respostas

não estou conseguindo achar na documentação, só achei como estornar pix feito via chave e ped EndToEndId

Avatar discord do usuario freitas_73582

freitas_73582

olá, gostari de tirar dúvidas sobre estorno de pix via api sdk php

Avatar discord do usuario alissonmaciel_32335

alissonmaciel_32335

Meu Webhook: 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: Basic ' . $this->access_token;
$headers[] = 'X-Skip-Mtls-Checking: true';
$headers[] = 'Content-Type: application/json';
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$result = curl_exec($ch);

echo '

';
var_dump($this->config['chave_pix'], $this->config['client_id'], $this->config['client_secret'], $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

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 Respostas

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 guilherme_efi

guilherme_efi

Ver Respostas

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 Respostas

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 rubenskuhl

rubenskuhl

Ver Respostas

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 Respostas

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 Respostas

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 Respostas

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 Respostas

Vem no webhook, tem no GET de /cob também um objeto pix com ele, após o pagamento acontecer.

Avatar discord do usuario alissonmaciel_32335

alissonmaciel_32335

quais desses campos se referem a e2eId para solicitar a devolução do pix? desculpa mas pra mim nao está claro[
imagem enviada na mensagem pelo usuario alissonmaciel_32335

Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Opção 1: pega o pixCopiaeCola que já vem no retorno do /cob e usa um biblioteca para gerar o QR-Code (muitas linguagens tem). Esta opção é portável entre PSPs.
Opção 2: pega o loc.id que vem no retorno do /cob e faz em GET em /location aonde vem já a imagem do QR-Code. Esta opção não é portável.

Avatar discord do usuario alissonmaciel_32335

alissonmaciel_32335

Ver Respostas

Bom dia, estou realizando uma cobrança PIX, como eu consigo gerar o QR na minha tela?