Histórico de mensagens sobre webhook pix em pix

EXIBINDO CONVERSAS RECENTES:

Texto: webhook pix
Canal: pix
Avatar discord do usuario felipoantonoff

felipoantonoff

Para quem precisar, segue o código da verificação extra do CONCLUIDA:

php
if(empty($pay['pix']) || empty($pay['pix'][0]['valor']) || $pay['pix'][0]['valor'] != $pay['valor']['original']){
$this->logWebhook->write("runChangeStatusOrders() - Pedido: ".$order_id.", Sem os Dados do Pix, não muda o Status");
continue;
}

No meu caso é um laço, por isso o continue, no lugar do continue mude para parar e o log tb precisa mudar.

Avatar discord do usuario Deleted User

Deleted User

Ver Respostas

Pessoal aonde tem a documentação do webhook do pix?

Avatar discord do usuario oleoessencial

oleoessencial

Ver Respostas

Você precisa ter o mTLS no seu servidor com o certificado dado pela GN https://pix.gerencianet.com.br/webhooks/chain-pix-sandbox.crt
ou para produção este aqui = https://pix.gerencianet.com.br/webhooks/chain-pix-prod.crt

Webhook
Reúne endpoints para gerenciamento de notificações por parte do PSP recebedor ao usuário recebedor.

Devido a uma norma do Banco Central, será necessário a inserção de uma chave pública da Gerencianet em seu servidor para que a comunicação obedeça o padrão mTLS. Em seu domínio que representa o seu servidor, deverá ser feita uma configuração para exigir a chave pública (mTLS) que estamos disponibilizando para que ocorra a autenticação mútua.

A Gerencianet irá fazer 2 requisições para o seu domínio(servidor).

1ª Requisição: Vamos certificar que seu servidor esteja exigindo uma chave pública da Gerencianet. Isso será feito ao enviar uma requisição sem certificado e seu servidor não deverá aceitar a requisição. Uma vez respondido com a recusa será enviado a 2º requisição.

2ª Requisição: Enviaremos a notificação junto com a nossa chave pública, o seu servidor que deve conter a chave pública disponibilizada deverá realizar o "Hand-Shake" e assim a comunicação ser estabelecida.

É necessário que o seu servidor tenha a versão mínima do TLS 1.2. Mais detalhes sobre o TLS aqui

Em seu servidor você deve configurar uma rota 'POST' com uma resposta padrão como uma string "200". Deve ser inserido o nosso certificado de produção ou homologação em seu servidor, abaixo temos alguns exemplos.

Obs: Você deve ter um servidor dedicado para conseguir realizar as configurações do webhook, uma vez que é necessário ter acesso a alguns arquivos para realizar as configurações como nos exemplos abaixo.

Avatar discord do usuario oleoessencial

oleoessencial

Ver Respostas

<@!781134406680838216> Poderiam enviar no callback do webhook as, infoAdicionais ?

{
"pix": [
{
"endToEndId": "E12345678202009091221syhgfgufg",
"txid": "c3e0e7a4e7f1469a9f782d3d4999343c",
"valor": "110.00",
"horario": "2020-09-09T20:15:00.358Z",
"infoPagador": "0123456789",
"devolucoes":[
{
"id": "123ABC",
"rtrId": "D12345678202009091221abcdf098765",
"valor": "10.00",
"horario": {
"solicitacao": "2020-09-09T20:15:00.358Z"
},
"status": "EM_PROCESSAMENTO"
}
]
}
]
}

Avatar discord do usuario anoni_mato

anoni_mato

se o pagamento não tiver txid associado, não recebe notificação no webhook. mas vc consegue fazer um GET /pix?cpf=xxx (+ parâmetros de inicio e fim)

Avatar discord do usuario bartwitch

bartwitch

Ver Respostas

só pra constar.. isso nao é no webhook, é no serviço de consultar a cobrança PIX

Avatar discord do usuario guilherme_efi

guilherme_efi

Ver Respostas

Isto mesmo <@!781944293739986984>. Basicamente, cada cobrança possuirá um txid.
Já para configurar o webhooh, você deverá consumir a rota PUT /v2​/webhook/:chave, onde o parâmetro é a chave Pix (email, cpf/cnpj, telefone ou chave aleatória), e no body a url do webhook.

E todos os PIX desta chave Pix, associados a um txid, serão notificados.

Avatar discord do usuario oleoessencial

oleoessencial

Ver Respostas

#duvida #webhook #pix Receberemos callbacks do webhook das nossas chaves com o BRCode Estático também ?

Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

O que dá para testar enquanto isso: se na hora do acionamento do webhook se a GN aceita (ela faz teste de mTLS do seu servidor), se o EMV/BRcode está bom em https://pix.nascent.com.br/tools/pix-qr-decoder/

Avatar discord do usuario gabrieligbastos

gabrieligbastos

Ver Respostas

entendi, e uma última dúvida, rsrs.. o evento de webhook de homolog dispara quando recebe pix também ou só o de prod?

Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Pode fazer sem webhook também. GET /pix inicio=quando você criou a cobrança fim=agora txid=número da cobrança.
Com webhook escala mais, mas não é mandatório.

Avatar discord do usuario oleoessencial

oleoessencial

<@!781134406680838216> Bem que eu poderia mandar dinda para a minha conta, assim ficaria mais facil testar o retorno do webhook 🙂 . Pois apenas ia sair e entrar o PIX. 🙂 #ficaadica
imagem enviada na mensagem pelo usuario oleoessencial

Avatar discord do usuario oleoessencial

oleoessencial

Para quem for ou vai utilizar o endpoint do webhook em produção do PUT da url de retorno, na documentação tem esta url https://api-pix-h.gerencianet.com.br/v2/webhook/:chave
Porém, para funcionar precisamos retirar os dois pontos antes da palavra" :chave" e claro a própria palavra "chave" ficando assim = https://api-pix.gerencianet.com.br/v2/webhook/---- no caso este é um exemplo com uma chave aleatoria, as demais chaves utlizem o que o manual recomenda 🙂 Substituir o por seus dados.

Avatar discord do usuario oleoessencial

oleoessencial

Ufa... finalmente cheguei no ultimo

$webhook["pix"][0]["devolucoes"][0]["horario"]["liquidacao"];

Avatar discord do usuario oleoessencial

oleoessencial

Exemplo para testar a sua url do webook em modo desenvolvimento com php .


$curl = curl_init();

curl_setopt_array($curl, array(
CURLOPT_URL => 'https://sua_url_aqui/webhook.php',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS =>'{
"pix": [
{
"endToEndId": "E12345678202009091221syhgfgufg",
"txid": "c3e0e7a4e7f1469a9f782d3d4999343c",
"valor": "110.00",
"horario": "2020-09-09T20:15:00.358Z",
"infoPagador": "0123456789",
"devolucoes": {
"id": "123ABC",
"rtrId": "D12345678202009091221abcdf098765",
"valor": "10.00",
"horario": {
"solicitacao": "2020-09-09T20:15:00.358Z"
},
"status": "EM_PROCESSAMENTO"
}
}
]
}',
CURLOPT_HTTPHEADER => array(
'Content-Type: text/plain'
),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;

Avatar discord do usuario oleoessencial

oleoessencial

Ver Respostas

#solução para testes do webhook em modo desenvolvimento. Principalmente para quem não fez o mTLS ainda para usar em produção, é só criar um POST , no postman na sua url de recebimento do webhook no servidor e inserir as informações do json que é enviado no Body em raw no postman , este é um exemplo de envio que a GN faz em json abaixo que usei no raw

{
"pix": [
{
"endToEndId": "E12345678202009091221syhgfgufg",
"txid": "c3e0e7a4e7f1469a9f782d3d4999343c",
"valor": "110.00",
"horario": "2020-09-09T20:15:00.358Z",
"infoPagador": "0123456789",
"devolucoes": {
"id": "123ABC",
"rtrId": "D12345678202009091221abcdf098765",
"valor": "10.00",
"horario": {
"solicitacao": "2020-09-09T20:15:00.358Z"
},
"status": "EM_PROCESSAMENTO"
}
}
]
}

Avatar discord do usuario jessica_efi

jessica_efi

Ver Respostas

voce ja pode utilizar o de produção para fazer testes com o webhook, pois com o de homologação não seria possível. Então nesse caso, sugerimos gerar Pix de 0.01 para os testes.

Avatar discord do usuario oleoessencial

oleoessencial

Putz, agora que ví que hoje, não serve para nada implementar os endpoints do webhook em modo dev, pois ainda não tem como brincar de pagar PIX e receber retorno do webhook, vou pular direto para PROD. 🙂